Maison > Opération et maintenance > Nginx > Comment résoudre nginx ne provoquant pas d'erreur php

Comment résoudre nginx ne provoquant pas d'erreur php

PHPz
Libérer: 2023-05-26 13:03:46
avant
1844 Les gens l'ont consulté

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;
    }
}
Copier après la connexion

其中,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
Copier après la connexion

三、PHP 配置文件中的错误设置

PHP的配置文件一般为/etc/php/7.4/fpm/php.ini,找到error_reporting这一行,将其设置为显示所有的错误信息:

error_reporting = E_ALL
Copier après la connexion

然后找到display_errors这一行,将其设置为On

display_errors = On
Copier après la connexion

Parmi eux, 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
Copier après la connexion
#🎜🎜##🎜🎜#3 Mauvais paramètres dans le fichier de configuration PHP #🎜🎜##🎜🎜##. 🎜🎜Le fichier de configuration de#PHP est généralement /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 : #🎜🎜#rrreee

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal