Menggunakan platform PHP Elastic Beanstalk - AWS Elastic Beanstalk

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan platform PHP Elastic Beanstalk

AWS Elastic Beanstalk mendukung sejumlah platform untuk berbagai versi bahasa pemrograman PHP. Platform ini mendukung aplikasi web PHP yang dapat berjalan sendiri atau di bawah Composer. Pelajari selengkapnya di PHP dalam dokumen Platform AWS Elastic Beanstalk .

Elastic Beanstalk menyediakan opsi konfigurasi yang dapat digunakan untuk menyesuaikan perangkat lunak yang berjalan pada instans EC2 di lingkungan Elastic Beanstalk Anda. Anda dapat mengonfigurasi variabel lingkungan yang diperlukan oleh aplikasi Anda, mengaktifkan rotasi log ke Amazon S3, memetakan folder di sumber aplikasi Anda yang berisi file statis ke jalur yang disajikan oleh server proxy, dan mengatur pengaturan inisialisasi PHP umum.

Pilihan konfigurasi tersedia di konsol Elastic Beanstalk untuk memodifikasi konfigurasi dari lingkungan yang sedang berjalan. Agar Anda tidak kehilangan konfigurasi lingkungan ketika mengakhirinya, Anda dapat menggunakan konfigurasi tersimpan untuk menyimpan pengaturan dan kemudian menerapkannya ke lingkungan lain.

Untuk menyimpan pengaturan di kode sumber, Anda dapat menyertakan file konfigurasi. Pengaturan di file konfigurasi diterapkan setiap kali Anda membuat lingkungan atau men-deploy aplikasi Anda. Anda juga dapat menggunakan file konfigurasi untuk menginstal paket, menjalankan skrip, dan melakukan operasi penyesuaian instans lainnya selama deployment.

Jika Anda menggunakan Composer, Anda dapat menyertakan file composer.json di paket sumber untuk menginstal paket selama deployment.

Untuk konfigurasi PHP lanjutan dan pengaturan PHP yang tidak disediakan sebagai opsi konfigurasi, Anda dapat menggunakan file konfigurasi untuk menyediakan file INI yang dapat memperluas dan mengganti pengaturan default yang diterapkan oleh Elastic Beanstalk, atau menginstal ekstensi tambahan.

Pengaturan yang diterapkan di konsol Elastic Beanstalk menimpa pengaturan yang sama dalam file konfigurasi, jika ada. Hal tersebut memungkinkan Anda memiliki pengaturan default di file konfigurasi, dan mengganti keduanya dengan pengaturan khusus lingkungan di konsol tersebut. Untuk informasi selengkapnya tentang yang diutamakan, dan metode lain untuk mengubah pengaturan, lihat Opsi konfigurasi.

Untuk detail tentang berbagai cara memperluas platform berbasis Linux Elastic Beanstalk, lihat Memperluas platform Linux Elastic Beanstalk.

Pertimbangan untuk PHP 8.1 di Amazon Linux 2

Baca bagian ini jika Anda menggunakan PHP 8.1 di cabang platform Amazon Linux 2.

catatan

Informasi dalam topik ini hanya berlaku untuk PHP 8.1 di cabang platform Amazon Linux 2. Itu tidak berlaku untuk cabang platform PHP berdasarkan AL2023. Ini juga tidak berlaku untuk cabang platform PHP 8.0 Amazon Linux 2.

Elastic Beanstalk menyimpan paket RPM terkait PHP 8.1 untuk PHP 8.1 di cabang platform Amazon Linux 2 pada instans EC2 di direktori lokal, bukan repositori Amazon Linux. Anda dapat menggunakan rpm -i untuk menginstal paket. Dimulai dengan PHP 8.1 Platform Versi 3.5.0, Elastic Beanstalk menyimpan paket RPM terkait PHP 8.1 di direktori EC2 lokal berikut.

/opt/elasticbeanstalk/RPMS

Contoh berikut menginstal php-debuginfo paket.

$rpm -i /opt/elasticbeanstalk/RPMS/php-debuginfo-8.1.8-1.amzn2.x86_64.rpm

Versi dalam nama paket akan bervariasi sesuai dengan versi aktual yang tercantum dalam direktori /opt/elasticbeanstalk/RPMS lokal EC2. Gunakan sintaks yang sama untuk menginstal paket PHP 8.1 RPM lainnya.

Perluas bagian berikut untuk menampilkan daftar paket RPM yang kami sediakan.

Daftar berikut menyediakan paket RMP yang disediakan platform Elastic Beanstalk PHP 8.1 di Amazon Linux 2. Ini terletak di direktori lokal/opt/elasticbeanstalk/RPMS.

Nomor versi 8.1.8-1 dan 3.7.0-1 dalam nama paket yang tercantum hanyalah sebuah contoh.

  • php-8.1.8-1.amzn2.x86_64.rpm

  • php-bcmath-8.1.8-1.amzn2.x86_64.rpm

  • php-cli-8.1.8-1.amzn2.x86_64.rpm

  • php-common-8.1.8-1.amzn2.x86_64.rpm

  • php-dba-8.1.8-1.amzn2.x86_64.rpm

  • php-dbg-8.1.8-1.amzn2.x86_64.rpm

  • php-debuginfo-8.1.8-1.amzn2.x86_64.rpm

  • php-devel-8.1.8-1.amzn2.x86_64.rpm

  • php-embedded-8.1.8-1.amzn2.x86_64.rpm

  • php-enchant-8.1.8-1.amzn2.x86_64.rpm

  • php-fpm-8.1.8-1.amzn2.x86_64.rpm

  • php-gd-8.1.8-1.amzn2.x86_64.rpm

  • php-gmp-8.1.8-1.amzn2.x86_64.rpm

  • php-intl-8.1.8-1.amzn2.x86_64.rpm

  • php-ldap-8.1.8-1.amzn2.x86_64.rpm

  • php-mbstring-8.1.8-1.amzn2.x86_64.rpm

  • php-mysqlnd-8.1.8-1.amzn2.x86_64.rpm

  • php-odbc-8.1.8-1.amzn2.x86_64.rpm

  • php-opcache-8.1.8-1.amzn2.x86_64.rpm

  • php-pdo-8.1.8-1.amzn2.x86_64.rpm

  • php-pear-1.10.13-1.amzn2.noarch.rpm

  • php-pgsql-8.1.8-1.amzn2.x86_64.rpm

  • php-process-8.1.8-1.amzn2.x86_64.rpm

  • php-pspell-8.1.8-1.amzn2.x86_64.rpm

  • php-snmp-8.1.8-1.amzn2.x86_64.rpm

  • php-soap-8.1.8-1.amzn2.x86_64.rpm

  • php-sodium-8.1.8-1.amzn2.x86_64.rpm

  • php-xml-8.1.8-1.amzn2.x86_64.rpm

  • php-pecl-imagick-3.7.0-1.amzn2.x86_64.rpm

  • php-pecl-imagick-debuginfo-3.7.0-1.amzn2.x86_64.rpm

  • php-pecl-imagick-devel-3.7.0-1.amzn2.noarch.rpm

Anda dapat menggunakan paket PEAR dan PECL untuk menginstal ekstensi umum. Untuk informasi lebih lanjut tentang PEAR, lihat situs web PEAR PHP Extension and Application Repository. Untuk informasi lebih lanjut tentang PECL, lihat situs web ekstensi PECL.

Contoh perintah berikut menginstal ekstensi Memcached.

$pecl install memcache

Atau Anda juga bisa menggunakan yang berikut ini:

$pear install pecl/memcache

Contoh perintah berikut menginstal ekstensi Redis.

$pecl install redis

Atau Anda juga bisa menggunakan yang berikut ini:

$pear install pecl/redis

Mengonfigurasi lingkungan PHP Anda

Anda dapat menggunakan konsol Elastic Beanstalk untuk mengaktifkan rotasi log ke Amazon S3, mengonfigurasi variabel yang dapat dibaca aplikasi Anda dari lingkungan, dan mengubah pengaturan PHP.

Untuk mengonfigurasi lingkungan PHP Anda di konsol Elastic Beanstalk
  1. Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic Beanstalk. Wilayah AWS

  2. Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Di panel navigasi, pilih Konfigurasi.

  4. Dalam kategori konfigurasi Pembaruan, pemantauan, dan pencatatan, pilih Edit.

Pengaturan PHP

  • Server proksi – Server proksi yang akan digunakan pada instans lingkungan Anda. Secara default, nginx digunakan.

  • Akar dokumen – Folder yang berisi halaman default situs Anda. Jika halaman selamat datang Anda tidak berada di akar paket sumber Anda, tentukan folder yang memuatnya itu relatif terhadap jalur akar. Misalnya, /public jika halaman selamat datang berada dalam folder bernama public.

  • Batas memori – Jumlah maksimum memori yang dapat dialokasikan oleh skrip. Sebagai contoh, 512M.

  • Kompresi output Zlib – Atur ke On untuk memampatkan respons.

  • Ijinkan URL fopen – Atur ke Off untuk mencegah skrip mengunduh file dari lokasi jarak jauh.

  • Kesalahan tampilan – Atur ke On untuk menampilkan pesan kesalahan internal untuk debugging.

  • Waktu eksekusi maks – Waktu maksimum dalam detik yang boleh dijalankan skrip sebelum lingkungan mengakhirinya.

Opsi log

Bagian Opsi Log memiliki dua pengaturan:

  • Profil instans– Menentukan profil instans yang memiliki izin untuk mengakses bucket Amazon S3 yang terkait dengan aplikasi Anda.

  • Aktifkan rotasi file log ke Amazon S3 — Menentukan apakah file log untuk instans Amazon EC2 aplikasi Anda disalin ke bucket Amazon S3 yang terkait dengan aplikasi Anda.

File statis

Untuk meningkatkan kinerja, Anda dapat menggunakan bagian File statis untuk mengkonfigurasi server proxy untuk melayani file statis (misalnya, HTML atau gambar) dari satu set direktori di dalam aplikasi web Anda. Untuk setiap direktori, Anda mengatur jalur virtual ke pemetaan direktori. Saat server proksi menerima permintaan untuk file di jalur yang ditentukan, server langsung menyajikan file daripada merutekan permintaan ke aplikasi Anda.

Untuk detail tentang mengonfigurasi file statis menggunakan file konfigurasi atau konsol Elastic Beanstalk, lihat. Menyajikan file statis

Properti lingkungan

Bagian Properti Lingkungan memungkinkan Anda menentukan pengaturan konfigurasi lingkungan di instans Amazon EC2 yang menjalankan aplikasi Anda. Pengaturan ini diteruskan sebagai pasangan nilai kunci ke aplikasi.

Kode aplikasi Anda dapat mengakses properti lingkungan dengan menggunakan fungsi $_SERVER atau get_cfg_var.

$endpoint = $_SERVER['API_ENDPOINT'];

Lihat Properti lingkungan dan pengaturan perangkat lunak lainnya untuk informasi selengkapnya.

Namespace aws:elasticbeanstalk:container:php:phpini

Anda dapat menggunakan file konfigurasi untuk mengatur opsi konfigurasi dan melakukan tugas-tugas konfigurasi instans lain selama deployment. Opsi konfigurasi dapat ditentukan oleh layanan Elastic Beanstalk atau platform yang Anda gunakan dan disusun ke dalam namespace.

Anda dapat menggunakan namespace aws:elasticbeanstalk:environment:proxy untuk memilih server proxy lingkungan.

Anda dapat menggunakan namespace aws:elasticbeanstalk:environment:proxy:staticfiles untuk mengonfigurasi proksi lingkungan untuk menyajikan file statis. Anda menentukan pemetaan jalur virtual ke direktori aplikasi.

Platform PHP menentukan opsi dalam namespace aws:elasticbeanstalk:container:php:phpini, termasuk salah satu yang tidak tersedia di konsol Elastic Beanstalk. composer_options menetapkan opsi khusus untuk digunakan ketika menginstal dependensi menggunakan Composer melalui composer.phar install. Untuk informasi selengkapnya termasuk terkait pilihan yang tersedia, kunjungi http://getcomposer.org/doc/03-cli.md#install.

Contoh berikut file konfigurasi menentukan opsi file statis yang memetakan sebuah direktori bernama staticimages ke jalur /images, dan menampilkan pengaturan untuk masing-masing opsi yang tersedia di namespace aws:elasticbeanstalk:container:php:phpini:

contoh .ebextensions/php-settings.config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: apache aws:elasticbeanstalk:environment:proxy:staticfiles: /images: staticimages aws:elasticbeanstalk:container:php:phpini: document_root: /public memory_limit: 128M zlib.output_compression: "Off" allow_url_fopen: "On" display_errors: "Off" max_execution_time: 60 composer_options: vendor/package
catatan

Namespace aws:elasticbeanstalk:environment:proxy:staticfiles tidak ditegaskan pada cabang platform Amazon Linux AMI PHP (Amazon Linux 2 yang terdahulu).

Elastic Beanstalk memberikan banyak opsi konfigurasi untuk menyesuaikan lingkungan Anda. Selain file konfigurasi, Anda juga dapat mengatur opsi konfigurasi menggunakan konsol tersebut, konfigurasi tersimpan, EB CLI, atau AWS CLI. Lihat Opsi konfigurasi untuk informasi selengkapnya.