Nginx est un serveur Web et un serveur proxy inverse largement utilisés dans de nombreux sites Web et applications à fort trafic. Cependant, lorsque vous utilisez Nginx, vous rencontrerez parfois des erreurs PHP. Cet article présentera les raisons de l'activation de l'erreur PHP et comment résoudre ce problème.
1. L'existence du problème
Dans Nginx, l'utilisation de l'interpréteur PHP nécessite de lier PHP-CGI à Nginx. L'interaction entre PHP-CGI et Nginx peut être réalisée à l'aide du protocole FastCGI. Tel que configuré normalement, Nginx écrit la sortie de PHP-CGI dans un fichier temporaire, puis transfère le fichier via le système de fichiers. Les erreurs sont enregistrées dans le journal des erreurs de Nginx et envoyées à l'utilisateur frontal.
Étant donné que Nginx n'a pas de module PHP intégré, si PHP-CGI n'est pas configuré correctement, les erreurs PHP peuvent ne pas s'afficher correctement.
2. Raison du rapport d'erreur
Lorsque PHP signale une erreur, Nginx affichera le code d'état HTTP 502 Bad Gateway par défaut. Cela peut être dû aux raisons suivantes :
3. Solution
Afin de résoudre correctement le problème d'erreur PHP, vous devez trouver la cause et trouver la bonne solution.
Pour vérifier si le processus PHP-CGI est en cours d'exécution, vous pouvez utiliser la commande suivante :
ps aux | grep php
S'il n'y a pas de sortie, cela signifie que PHP-CGI n'est pas en cours d'exécution. Si vous devez redémarrer PHP-CGI, vous pouvez utiliser la commande suivante :
/etc/init.d/php-fpm restart
Pour vous assurer que le processus PHP-CGI communique correctement avec Nginx, vous devez pour vérifier les éléments suivants dans le fichier de configuration Nginx Configuration :
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; }
fastcgi_pass
précise ici l'adresse et le port du processus PHP-CGI S'il est incorrect ou non démarré, Nginx ne pourra pas communiquer. avec le processus PHP-CGI. fastcgi_pass
指定了 PHP-CGI 进程的地址和端口,如果不正确或未启动,则会导致 Nginx 无法与 PHP-CGI 进程通信。
要检查 PHP-CGI 配置是否正确,可以打开 PHP 配置文件,例如 /etc/php5/cgi/php.ini
,并确保以下设置正确:
display_errors = On error_reporting = E_ALL & ~E_NOTICE
这些设置将启用 PHP 的错误显示和错误报告功能。
要确保 Nginx 配置文件正确,您需要打开 Nginx 配置文件,例如 /etc/nginx/nginx.conf
Pour vérifier si la configuration PHP-CGI est correcte, vous pouvez ouvrir le fichier de configuration PHP, tel que /etc/php5/cgi/php .ini
et assurez-vous que les paramètres suivants sont corrects :
error_log /var/log/nginx/error.log;
Ces paramètres activeront les capacités d'affichage des erreurs et de rapport d'erreurs de PHP.
/etc/nginx/nginx.conf code> et assurez-vous que les éléments suivants sont correctement configurés : 🎜rrreee🎜Ce paramètre activera la fonction de journalisation des erreurs de Nginx, aidant à rechercher et à déboguer les erreurs. 🎜🎜Conclusion🎜🎜 Les erreurs PHP sont un problème courant lors de l'utilisation de Nginx, mais elles sont également faciles à résoudre. Vérifiez simplement que le processus PHP-CGI s'exécute et communique correctement avec Nginx, et que PHP et Nginx sont correctement configurés. Avec ces étapes simples, vous pouvez facilement résoudre les problèmes d’erreur PHP et vous assurer que votre serveur fonctionne correctement. 🎜
Ce 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!