Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk membolehkan pelaporan ralat php dalam nginx
Nginx ialah pelayan web yang digunakan secara meluas dan pelayan proksi terbalik yang digunakan dalam banyak tapak web dan aplikasi dengan trafik tinggi. Walau bagaimanapun, apabila menggunakan Nginx, kadangkala anda akan menghadapi ralat PHP. Artikel ini akan memperkenalkan sebab untuk menghidupkan ralat PHP dan cara menyelesaikan masalah ini.
1. Kewujudan masalah
Dalam Nginx, menggunakan penterjemah PHP memerlukan pengikatan PHP-CGI kepada Nginx. Interaksi antara PHP-CGI dan Nginx boleh dicapai menggunakan protokol FastCGI. Seperti yang dikonfigurasikan biasanya, Nginx menulis output PHP-CGI ke fail sementara dan kemudian memindahkan fail melalui sistem fail. Ralat dilog masuk dalam log ralat Nginx dan dihantar kepada pengguna bahagian hadapan.
Memandangkan Nginx tidak mempunyai modul PHP terbina dalam, jika PHP-CGI tidak dikonfigurasikan dengan betul, ralat PHP mungkin tidak dipaparkan dengan betul.
2. Sebab pelaporan ralat
Apabila PHP melaporkan ralat, Nginx akan memaparkan kod status HTTP 502 Bad Gateway secara lalai. Ini mungkin disebabkan oleh sebab berikut:
3. Penyelesaian
Untuk menyelesaikan masalah ralat PHP dengan betul, anda mesti mencari punca dan mencari penyelesaian yang betul.
Untuk menyemak sama ada proses PHP-CGI sedang berjalan, anda boleh menggunakan arahan berikut:
ps aux | grep php
Jika tiada output, bermakna PHP-CGI tidak berjalan. Jika anda perlu memulakan semula PHP-CGI, anda boleh menggunakan arahan berikut:
/etc/init.d/php-fpm restart
Untuk memastikan bahawa proses PHP-CGI Untuk berkomunikasi dengan betul dengan Nginx, anda perlu menyemak konfigurasi berikut dalam fail konfigurasi Nginx:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
Di sini fastcgi_pass
menentukan alamat dan port proses PHP-CGI. Jika ia tidak betul atau tidak dimulakan, ia akan Akibatnya, Nginx tidak dapat berkomunikasi dengan proses PHP-CGI.
Untuk menyemak sama ada konfigurasi PHP-CGI betul, anda boleh membuka fail konfigurasi PHP, seperti /etc/php5/cgi/php.ini
dan pastikan tetapan berikut adalah betul:
display_errors = On error_reporting = E_ALL & ~E_NOTICE
Tetapan ini akan membolehkan paparan ralat PHP dan keupayaan melaporkan ralat.
Untuk memastikan fail konfigurasi Nginx betul, anda perlu membuka fail konfigurasi Nginx, seperti /etc/nginx/nginx.conf
, dan pastikan bahawa tetapan berikut adalah betul:
error_log /var/log/nginx/error.log;
Tetapan ini akan mendayakan ciri pengelogan ralat Nginx, membantu mencari dan nyahpepijat ralat.
Kesimpulan
Apabila menggunakan Nginx, pelaporan ralat PHP adalah masalah biasa, tetapi ia juga mudah untuk diselesaikan. Hanya semak bahawa proses PHP-CGI berjalan dan berkomunikasi dengan betul dengan Nginx, dan PHP dan Nginx dikonfigurasikan dengan betul. Dengan langkah mudah ini, anda boleh menyelesaikan isu ralat PHP dengan mudah dan memastikan pelayan anda berjalan dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk membolehkan pelaporan ralat php dalam nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!