Nginx不提示php错误如何解决- 梦里云
基础教程 2025-10-09 05:41 87

本篇内容主要讲解“nginx不提示php错误如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx不提示php错误如何解决”吧!

一、理解错误报告及搜集方法

在部署服务器的过程中,我们习惯性地关闭了PHP的错误输出,这是因为PHP的错误信息可能会导致安全隐患暴露,或导致信息泄露。但是在开发过程中,我们需要这些错误信息来定位问题和调试程序。

解决这一问题的方法之一是打开PHP的错误输出。在PHP中我们可以设置错误日志级别或者即时报告错误。同时,我们也可以在Nginx的配置文件中添加一些选项来显示PHP错误信息。

二、Nginx 配置文件中的 PHP 错误设置

打开Nginx服务器的配置文件,一般为/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,这样就可以在网页上显示所有的PHP错误信息了:

display_errors  =  On

然后保存文件并重启PHP-FPM:

sudo  systemctl  restart  php7.4-fpm

到此,相信大家对“nginx不提示php错误如何解决”有了更深的了解,不妨来实际操作一番吧!

Powered by ©智简魔方