Rumah >pembangunan bahagian belakang >masalah PHP >Bincangkan dan rumuskan beberapa sebab dan penyelesaian untuk PHP-FPM tidak berkuat kuasa
PHP-FPM ialah pengurus FastCGI yang biasa digunakan Banyak tapak web menggunakannya untuk memproses skrip PHP, tetapi kadangkala kami menghadapi situasi di mana PHP-FPM tidak berkuat kuasa. Dalam artikel ini, saya akan meneroka beberapa kemungkinan punca dan cara membetulkannya.
Pertama, kami perlu mengesahkan bahawa PHP-FPM sedang berjalan. Ini boleh disemak dengan:
systemctl status php-fpm
Jika PHP-FPM tidak dimulakan, anda perlu memulakannya:
systemctl start php-fpm
Jika ia sudah berjalan, anda boleh melangkau langkah ini dan teruskan Cari masalah lain yang berpotensi.
Kedua, kita perlu memastikan bahawa fail konfigurasi PHP-FPM adalah betul. Secara lalai, versi PHP akan mempunyai fail konfigurasi lalainya sendiri. Walau bagaimanapun, jika kita perlu menukar beberapa tetapan, kita perlu mengatasinya dan memuat semula fail konfigurasi.
Seterusnya, pastikan fail konfigurasi Nginx anda betul. Dalam fail konfigurasi Nginx, kita perlu memastikan bahawa soket atau port PHP-FPM yang betul digunakan. Biasanya, kita akan melihat tetapan berikut dalam fail konfigurasi Nginx:
location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; include fastcgi_params; }
Dalam contoh di atas, Nginx menghantar permintaan ke fail soket PHP-FPM. Jika PHP-FPM kami mendengar pada port, kami perlu menukarnya kepada fastcgi_pass 127.0.0.1:9000;
, dengan 9000 ialah port lalai.
Jika anda telah mengemas kini versi PHP anda baru-baru ini, anda juga perlu memastikan bahawa modul PHP tersedia. Anda boleh menyemak sama ada modul PHP dimuatkan dengan menjalankan arahan berikut:
php -m
Jika kedua-dua PHP-FPM dan Nginx dikonfigurasikan dengan betul, tetapi skrip PHP masih tidak diproses dengan betul, ia mungkin disebabkan kepada isu kebenaran. PHP-FPM berjalan di bawah pengguna WWW, dan ia mempunyai keizinan tertinggi pada akar dokumen (biasanya /var/www/html
). Jika kebenaran folder dan fail dihadkan, ia mungkin menghalang skrip PHP daripada berjalan dengan betul.
Untuk memastikan isu kebenaran tidak menyebabkan PHP-FPM tidak berkuat kuasa, sila pastikan pengguna WWW mempunyai akses penuh ke direktori akar dokumen anda. Pengguna WWW boleh ditukar dengan arahan berikut:
usermod -a -G www-data username chown -R www-data:www-data /var/www/html chmod -R 755 /var/www/html
Contoh di atas menukar pengguna WWW dan menetapkan pemilikan serta kebenaran folder dan fail kepada pengguna WWW dan 755. Ini memastikan PHP-FPM mempunyai akses penuh kepada akar dokumen dan skrip PHP boleh berjalan dengan betul.
Ringkasnya, apabila PHP-FPM tidak berkuat kuasa, kita perlu menyemak aspek berikut:
Dengan menyemak kemungkinan isu ini, anda sepatutnya dapat menyelesaikan PHP-FPM tidak berfungsi.
Atas ialah kandungan terperinci Bincangkan dan rumuskan beberapa sebab dan penyelesaian untuk PHP-FPM tidak berkuat kuasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!