There are questions remain, We'll search for the answers together. But one thing we known for sure,the future is not set!

【原创文章】PHP语言在Nginx和Apache环境中错误显示处理方法

当网站调试的差不多的时候,可能就不愿意再将错误呈现给前端的客户,观感不好,但是这时候错误日志最好是要记录的,以便追查问题。

错误日志处理分三个级别

1,对于单个PHP网页级别的错误日志显示
文件头部添加代码

error_reporting(0);
或者
ini_set('display_errors', 0);

确保该代码被解析,不然也无法执行。

2,Apache网站级别的日志显示和日志记录设置

就是在全局环境php.ini中没有设置display_errors,但是在本网站我想关闭错误显示。

对于Apach网站,可以设置.htaccess,增加参数

php_flag display_errors off
php_flag log_errors on
php_value error_log /path/error.log

这样本网站的错误就不显示在前端,但保存在error.log中。

3,Nginx网站级别的日志显示和日志记录设置

记录错误日志和访问日志可修改网站配置文件,比如baishujun.com.conf

access_log   /path/daokers.com.log;
error_log   /path/daokers.com.error.log;

对于Nginx网站,没有找到在本网站禁止显示php错误显示的开关。

但是可以通过在一个全局性调用的网页中添加方法1的代码实现,

比如将error_reporting(0);或者ini_set('display_errors', 0);放到类似config.php或者incude文件夹中某个通用的PHP中。切记:确保编译解析!

4,全局性的日志显示和日志记录设置

找到该环境的php.ini文件,设置

error_reporting = E_ALL & ~E_NOTICE
log_errors = On
display_errors = Off

这里的display_errors设置为OFF,这样避免将错误呈现给前端,但是日志的记录一定要打开,然后网站配置文件中设置日志保存位置。切记:重启服务器生效!

 

 

 

转载请注明:百蔬君 » 【原创文章】PHP语言在Nginx和Apache环境中错误显示处理方法

喜欢 (1)or分享 (0)
发表我的评论
取消评论

请证明您不是机器人(^v^):

表情