做开发的经常碰到这种情况,在线下测试的挺好的程序,上传到线上(生产环境)就会出现奇奇怪怪的错误,比如出现个空白页面,也不知道是哪里出问题了,而线上又不允许调试,那该如何去解决这个问题呢?除了在仔细一遍遍的检查代码外,还可以通过开启php的error_log来排查错误。
大家应该都知道当php.ini中的display_errors设置为on的时候,运行程序的时候经常会看到满屏的notice warning啊什么的。
开启error_log的情况下也会记录这些notice warning信息,但是会将这些信息记录到error_log设置的文件里面去,而不是直接显示到屏幕上。
下面说下开启php的error_log的方法。
编辑php.ini,将log_errors设置为on
log_errors = On
找到error_log参数,记住其所定义的文件位置或者自己定义文件位置,注意这个文件需要授予php标识用户的修改权限,否则日志文件无法生成。
error_log = /home/www/phpernote/error.log
然后重启apache或者nginx服务器即可。