PHP

LNMP模式下如何开启PHP错误日志?访问网站提示500错误如何解决?

字号+ 编辑: 国内TP粉 修订: 呆头鹅甲 来源: 2018-04-14 23:04 我要说两句(0)

如果服务器页面出现500错误, 如果没有做特殊的页面状态码返回的话,首先应该觉察到一般是后端程序报了错抛出了意外错误。

为了便于查找问题, 首先建议开发者打开php错误日志, 以便通过php错误日志来排错。

LNMP下的错误需要编辑以下这个文件----假设你的php被安装到了/usr/local/php 那么配置文件就应该在以下位置:

/usr/local/php/etc/php-fpm.conf

加上

php_admin_value[error_log] = /usr/local/php/var/log/php_errors.log
php_admin_flag[log_errors] = on

或在/usr/local/php/etc/php-fpm.conf里设置,加上catch_workers_output = yes,错误信息就会记录到php-fpm.conf里error_log设置的文件里。

上述两种方法都行,重启php-fpm生效

同理php.ini里的display_errors也是需要在php-fpm.conf里设置的,加上php_flag[display_errors] = On就开启了。

有时因为权限等问题, 可能错误日志文件不会自动创建,可以执行

touch /usr/local/php/var/log/php_errors.log && chown www:www /usr/local/php/var/log/php_errors.log

这个命令就可以了。

还有的同学喜欢在php.ini里面配置, 那么就要在php.ini里面查找error关键字, 一个一个地根据需要改, 重点就是以下两项:

log_errors=On # 打开日志记录
error_log=绝对路径地址

本文只细讲在php-fpm.conf里的改法, 就不再赘述php.ini的改法。

如果还是捕获不到错误怎么办?

那就要查看项目代码头部当中是否有配置到ini_set和error_reporting()这两个函数是否把错误报告给关了或者引导到别处去了。

开启PHP错误日志的其他方式

LAMP和LNMPA下开启错误日志的方法是:编辑

/usr/local/php/etc/php.ini

查找

;error_log

加上

error_log=/var/log/php_errors.log

然后重启apache生效。

出了问题你就在用vim或者cat命令在/var/log/php_errors.log里面找

有时候上面设置可能无法记录下日志,可以尝试把错误日志设置一下, 在php.ini里

error_log = syslog

这样就会输出到系统日志里,一般是 /var/log/messages 日志文件中会记录php报错的相关信息。

阅完此文,您的感想如何?
  • 鼓掌

    1936

  • 鄙视

    118

  • 开心

    1603

  • 愤怒

    39

  • 可怜

    22

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • 解决pecl安装swoole报错 error

  • php针对mysql的orm: 一个轻量级的pdo操作类

  • shell_exec() has been disabled for security reasons 解决方法

  • 鸟哥出品的高性能php框架YAF的安装和配置

我要说说
网上宾友点评
沙发已空
LNMP模式下如何开启PHP错误日志?访问网站提示500错误如何解决?