加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 云服务器、云原生、边缘计算、云计算、混合云存储!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

nginx不提示php错误怎么处理

发布时间:2023-07-21 12:07:33 所属栏目:PHP教程 来源:网络
导读:   本篇内容主要讲解“nginx不提示php错误如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx不提示php错误如
  本篇内容主要讲解“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
 

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章