1. Comprendre les méthodes de rapport d'erreurs et de collecte
Pendant le processus de déploiement du serveur, nous fermons habituellement la sortie d'erreur PHP , en effet, les informations d'erreur PHP peuvent exposer des risques de sécurité ou entraîner une fuite d'informations. Mais pendant le processus de développement, nous avons besoin de ces messages d'erreur pour localiser les problèmes et déboguer le programme.
Une façon de résoudre ce problème consiste à activer la sortie d'erreur de PHP. En PHP, nous pouvons définir le niveau de journalisation des erreurs ou signaler les erreurs immédiatement. Nous pouvons ajouter quelques options au fichier de configuration Nginx pour afficher les messages d'erreur PHP.
2. Paramètres d'erreur PHP dans le fichier de configuration Nginx
Ouvrez le fichier de configuration du serveur Nginx, généralement /etc/nginx /nginx.conf
, recherchez le bloc http{}
et ajoutez la configuration suivante : /etc/nginx/nginx.conf
,找到http{}
块,添加如下配置:
server { # server settings ... # server block location rules ... # php-fpm status check location ~ ^/(status|ping)$ { access_log off; # php-fpm settings fastcgi_param PHP_VALUE "error_reporting=E_ALL"; include fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } # php error logs location ~ \.php$ { fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log"; include fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } # error pages error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # static files location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ { expires 7d; access_log off; } # disable direct access to .ht files location ~ /\.ht { deny all; } }
其中,fastcgi_param PHP_VALUE
用于向Nginx服务器请求的PHP进程传递错误信息。 error_reporting=E_ALL
表示输出所有错误级别的信息。fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log";
表示将PHP错误信息输出到/var/log/nginx/php_error.log
文件中。
更改完配置文件后,重新加载Nginx服务器:
sudo systemctl reload nginx
三、PHP 配置文件中的错误设置
PHP的配置文件一般为/etc/php/7.4/fpm/php.ini
,找到error_reporting
这一行,将其设置为显示所有的错误信息:
error_reporting = E_ALL
然后找到display_errors
这一行,将其设置为On
display_errors = On
fastcgi_param PHP_VALUE
est utilisé pour envoyer Nginx Le serveur a demandé au processus PHP de transmettre le message d'erreur. error_reporting=E_ALL
signifie afficher toutes les informations sur le niveau d'erreur. fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log";
signifie afficher les informations d'erreur PHP dans le fichier /var/log/nginx/php_error.log
. Après avoir modifié le fichier de configuration, rechargez le serveur Nginx : #🎜🎜#sudo systemctl restart php7.4-fpm
/etc/php/7.4/fpm/php.ini
et recherchez la ligne error_reporting
et configurez-la pour afficher tous les messages d'erreur :#. 🎜🎜#rrreee#🎜🎜#Ensuite trouvez la ligne display_errors
et réglez-la sur On
, afin que tous les messages d'erreur PHP puissent être affichés sur la page web : #🎜🎜 #rrreee#🎜🎜# Enregistrez ensuite le fichier et redémarrez PHP-FPM : #🎜🎜#rrreeeCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!