Menggunakan platform Elastic Beanstalk PHP - 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 Elastic Beanstalk PHP

Topik ini menjelaskan cara mengonfigurasi, membangun, dan menjalankan PHP aplikasi Anda di Elastic Beanstalk.

AWS Elastic Beanstalk mendukung sejumlah cabang platform untuk berbagai versi bahasa PHP pemrograman. Platform ini mendukung aplikasi PHP web yang dapat berjalan sendiri atau di bawah Composer. Lihat PHPdi AWS Elastic Beanstalk Platform mendokumentasikan daftar lengkap cabang platform yang didukung.

Elastic Beanstalk menyediakan opsi konfigurasi yang dapat Anda gunakan untuk menyesuaikan perangkat lunak yang berjalan EC2 pada instance 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 PHP inisialisasi umum.

Opsi 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 PHP konfigurasi lanjutan dan PHP pengaturan yang tidak disediakan sebagai opsi konfigurasi, Anda dapat menggunakan file konfigurasi untuk menyediakan INI file yang dapat memperpanjang dan mengganti pengaturan default yang diterapkan oleh Elastic Beanstalk, atau menginstal ekstensi tambahan.

Pengaturan yang diterapkan di konsol Elastic Beanstalk mengganti pengaturan yang sama di 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 cabang platform PHP8.1 di Amazon Linux 2.

catatan

Informasi dalam topik ini hanya berlaku untuk cabang platform PHP8.1 di Amazon Linux 2. Itu tidak berlaku untuk cabang PHP platform berdasarkan AL2 023. Ini juga tidak berlaku untuk cabang platform PHP8.0 Amazon Linux 2.

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

/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 di direktori EC2 lokal/opt/elasticbeanstalk/RPMS. Gunakan sintaks yang sama untuk menginstal RPM paket PHP 8.1 lainnya.

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

Daftar berikut menyediakan RMP paket 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 PECL paket PEAR dan untuk menginstal ekstensi umum. Untuk informasi selengkapnyaPEAR, lihat situs web PEARPHPEkstensi dan Repositori Aplikasi. Untuk informasi selengkapnyaPECL, lihat situs web PECLekstensi.

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

Mengkonfigurasi lingkungan Anda PHP

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 PHP lingkungan Anda di konsol Elastic Beanstalk
  1. Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih 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.

PHPpengaturan

  • Server proksi – Server proksi untuk digunakan di 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. Misalnya, 512M.

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

  • Izinkan URL fopen - Atur Off untuk mencegah skrip mengunduh file dari lokasi terpencil.

  • 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 EC2 instans Amazon 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 menyajikan 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 pada EC2 instance Amazon 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.

Ruang nama untuk konfigurasi

Anda dapat menggunakan file konfigurasi untuk mengatur opsi konfigurasi dan melakukan tugas-tugas konfigurasi instans lain selama deployment. Opsi konfigurasi dapat berupa platform khusus atau berlaku untuk semua platform di layanan Elastic Beanstalk secara keseluruhan. Opsi konfigurasi diatur ke dalam ruang nama.

Ruang nama berikut mengonfigurasi layanan proxy dan opsi PHP spesifik Anda:

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

aws:elasticbeanstalk:environment:proxy:staticfilesNamespace tidak ditentukan di cabang AMI PHP platform Amazon Linux (sebelum Amazon Linux 2).

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