Apache secara native tidak mendukung skrip PHP tanpa modul khusus. Modul yang memberi tahu Apache cara menangani skrip PHP disebut sebagai penangan PHP. Tanpa modul yang dikonfigurasi dengan benar, Apache hanya akan mengirimi Anda file PHP sebagai unduhan karena tidak tahu harus berbuat apa lagi
Hander apa yang didukung cPanel dan Plesk dengan Apache?
cPanelPleskDSO/mod_phpModul Apache/mod_phpCGICGIFCGI/FastCGIFCGI/FastCGIPHP-FPMPHP-FPMsuPHP-- (CGI w/ suExec diaktifkan)LSAPI-- (kecuali Server Web LiteSpeed diinstal)
Secara umum, bagaimana cara kerja masing-masing penangan PHP dan apa pro dan kontra bekerja dengan masing-masing dari mereka?
Setiap modul menyediakan metode parsing PHP yang berbeda
Modul DSO/Apache
Ini juga disebut sebagai mod_php. Modul ini memungkinkan Apache sendiri untuk langsung mengurai dan menampilkan file PHP. Skrip PHP yang diuraikan oleh mod_php dijalankan sebagai pengguna yang sama dengan yang dilakukan Apache sendiri (bukan akun pengguna yang menghosting file PHP
Pro
- Salah satu penangan tercepat yang tersedia
- Bekerja dengan modul mod_ruid2 atau mpm_itk
Kontra
- Hanya berfungsi dengan satu versi PHP di server cPanel (Anda harus menggunakan hander lain untuk versi PHP lain jika Anda menawarkannya)
- Skrip dijalankan sebagai pengguna Apache, bukan sebagai pemilik domain atau subdomain. Misalnya, pada server cPanel, jika skrip membuat file atau direktori, file tersebut akan dimiliki oleh pengguna "tidak ada" yang dapat menyebabkan masalah saat pemilik akun melakukan backup atau menghapusnya.
CGI
Singkatan dari Common Gateway Interface. Dengan menggunakan handler ini, sistem akan menjalankan skrip PHP sebagai pengguna yang memiliki domain atau subdomain
Pro
- Skrip dijalankan sebagai pengguna domain atau subdomain, bukan sebagai pengguna Apache
Kontra
- Salah satu hander paling lambat
- Tidak bekerja dengan baik dengan caching opcode PHP
- Tidak dapat memasukkan perubahan konfigurasi PHP dalam file. file htaccess
FCGI/CepatCGI
FastCGI adalah variasi dari protokol CGI yang memberikan sejumlah manfaat dibandingkan penangan CGI yang lebih lama. Dengan menggunakan modul ini, sistem akan menjalankan skrip PHP sebagai pengguna yang memiliki domain atau subdomain. Ada beberapa perbedaan antara mod_fastcgi dan mod_fcgid, tetapi tidak ada yang relevan dengan ruang lingkup artikel ini
Pro
- Skrip dijalankan sebagai pengguna domain atau subdomain, bukan sebagai pengguna Apache
- Penangan yang sangat cepat
- Bekerja dengan caching opcode PHP
Kontra
- Penangan ini menggunakan lebih banyak memori daripada kebanyakan yang lain
- Tidak dapat memasukkan perubahan konfigurasi PHP dalam file. file htaccess
PHP-FPM
FPM adalah singkatan dari Manajer Proses FastCGI. Ini adalah cara yang ditingkatkan untuk mengimplementasikan pemrosesan FastCGI dari PHP. Dengan menggunakan handler ini, sistem akan menjalankan skrip PHP sebagai pengguna yang memiliki domain atau subdomain. Setiap kumpulan FPM dapat memiliki pengaturan independen
Pro
- Skrip dijalankan sebagai pengguna domain atau subdomain, bukan sebagai pengguna Apache
- Salah satu penangan PHP tercepat
- Bekerja dengan caching opcode PHP
- Mengizinkan beberapa tingkat fleksibilitas tambahan per kumpulan
Kontra
- Handler ini dapat menggunakan lebih banyak memori daripada handler lain yang tercantum di sini, tetapi itu bergantung pada jumlah situs yang menggunakan PHP-FPM dan konfigurasi kumpulan FPM
- Bisa agak lebih rumit untuk dikelola
- Tidak dapat memasukkan perubahan konfigurasi PHP dalam file. htaccess dan beberapa arahan hanya dapat diubah pada tingkat global
suPHP
Handler ini dirancang khusus untuk melayani skrip PHP sebagai pemilik domain atau subdomain yang menjalankan skrip PHP. Di server cPanel, ini juga dikonfigurasi untuk melarang eksekusi file dengan izin yang tidak aman. cPanel salinan suPHP mereka dengan perbaikan keamanan terbaru
Pro
- Skrip dijalankan sebagai pengguna domain atau subdomain, bukan sebagai pengguna Apache
- cPanel mengonfigurasi suPHP sehingga memblokir pengaksesan atau eksekusi file atau direktori apa pun dengan izin lebih tinggi dari 755 demi keamanan
Kontra
- Penangan PHP paling lambat dalam banyak kasus
- Caching Opcode PHP tidak memiliki peningkatan kinerja dan hanya menghabiskan memori
- Tidak dapat memasukkan perubahan konfigurasi PHP dalam file. file htaccess
LSAPI
Penangan ini mengimplementasikan SAPI LiteSpeed Web Server (LSWS). Penangan ini membutuhkan CloudLiunx atau LSWS untuk manfaat maksimal. Dengan menggunakan handler ini, sistem akan menjalankan skrip PHP sebagai pengguna yang memiliki domain atau subdomain
Pro
- Dirancang untuk bekerja dengan baik atau lebih baik dari PHP-FPM dalam keadaan tertentu
- Lebih sedikit penggunaan memori daripada kebanyakan penangan lainnya
- Skrip dijalankan sebagai pengguna domain atau subdomain, bukan sebagai pengguna Apache
- Tidak diperlukan konfigurasi khusus
- Dapat membaca nilai PHP dari a. file htaccess
Kontra
- Anda tidak mendapatkan manfaat penuh tanpa membeli produk komersial pihak ketiga
- Tidak kompatibel dengan mod_ruid2 atau mpm_itk (tetapi seharusnya tidak membutuhkannya)
Hander PHP mana yang harus saya gunakan?
Apa yang harus Anda gunakan bergantung pada sumber daya server Anda dan jenis situs PHP yang perlu Anda layani. Di cPanel, kami merekomendasikan default ke suPHP, LSAPI atau FCGI. Di Plesk kami merekomendasikan FastCGI. Setelah Anda memahami cara kerja PHP-FPM, Anda mungkin ingin mencoba mengaktifkannya untuk setidaknya beberapa situs dan melihat apakah itu membantu sama sekali
Bagaimana cara mengubah penangan PHP yang digunakan Apache?
Jangan ubah penangan PHP yang Anda gunakan tanpa sepenuhnya memahami apa yang akan dilakukan penangan. Jika Anda beralih dari penangan yang menjalankan skrip sebagai pengguna ke yang tidak, atau sebaliknya, Anda mungkin perlu menyesuaikan izin beberapa file atau direktori sehingga Apache dapat mengakses sesuatu dengan benar
Di cPanel, Anda dapat menyesuaikan penangan PHP di WHM dengan mengeklik MultiPHP Manager, lalu pilih tab PHP Handler dan sesuaikan penangan sesuai kebutuhan
Setelan di area cPanel ini hanya berlaku jika Anda belum mengonfigurasi situs untuk menggunakan PHP-FPM di layar MultiPHP Manager utama
Di Plesk, navigasikan ke Paket Layanan > Paket contoh > Setelan PHP > jalankan PHP sebagai dan pilih penangan yang ingin Anda gunakan
Jika Anda memiliki layanan dengan HostDime dan Anda tidak yakin apa yang harus dilakukan tentang penangan PHP Anda, silakan hubungi kami untuk mendapatkan bantuan sebelum mencoba melakukan perubahan apa pun