php网站解析错误,PHP的解析错误将不会显示

我正在运行ubuntu 10.04 + nginx + php-fpm 5.4

如果我在php.ini中设置了display_errors = On,则会显示所有错误。 如果相反,我将其设置为关闭,然后使用ini_set('display_errors,'1'); 它们也会直接在脚本中显示,但不会显示解析错误,只是空白页。 我也尝试过error_reporting和E_STRICT,但是我找不到办法!

如果您禁用了php.ini中的display_errors,后来又使用ini_set()在您的PHP脚本中启用了它,则只有在包含该ini_set()调用的行被执行后才启用它。

解析错误发生在PHP脚本甚至没有启动之前-解析PHP文件时(因此称为"解析错误"名称)。

这意味着它们发生在您的ini_set()甚至没有被执行的机会之前-这意味着,在您的情况下,当发生解析错误时,display_errors没有启用;结果,您什么也不会显示。

所以他们唯一显示解析错误的解决方案是在ini文件中启用它?

似乎很合逻辑-有点适合php.net/manual/en/上的第二个注释(上面写着"致命",但想法确实存在)

在这里,我已经回答了多年,但我找到了解决方法。

对于我正在编写的脚本,我创建了第二个脚本,该脚本包含ini_set()指令,然后包含一个我确实在使用的脚本。

到这里,这里是test_run.php

ini_set('display_errors', '1');

ini_set('error_reporting', E_ALL);

include('./my_script.php');

?>

为此+1; 即使我在php_flag display_errors上设置了.htaccess的情况下,也遇到了apache + php7的问题,但似乎启动得太晚了,而且我没有收到错误报告。 当然,我不想在整个站点范围内启用此功能,而只是在该目录上启用此功能,这种解决方法使我可以用这种方式"包装"脚本的调试版本。

除了打开display_errors,您还可以查看错误日志。通常,运行Ubuntu + Apache,您的错误日志将在/var/log/apache2/error_log中。要实时观察正在发生的事情,可以运行类似tail -f /var/log/apache2/error_log的命令。

有时比烦恼php设置更简单。

这个问题询问的是nginx,而不是Apache。

尝试error_reporting(E_ALL);。或文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值