error_reporting(0) 隐藏常规输出?奇怪的行为

error_reporting(0) hides regular output? Strange behavior

提问人:Stefan Brendle 提问时间:3/27/2014 更新时间:3/27/2014 访问量:66

问:

一位客户正在经营一家Magento网上商店,但是该功能与magento结合使用时存在非常奇怪的行为。error_reporting

据我所知,该函数隐藏了显示错误/警告/通知消息,并且不会影响脚本的常规输出(例如使用“echo”)。

我有一个简短的示例脚本,其中包含两个 -calls。在依赖项中,如果 error_reporting() 打开或关闭,则在浏览器上可以看到一行或两行输出。我预料到,这个函数不会影响常规输出?echo

enter image description here

  • 脚本中有两个 -calls:在第 9 行和第 31 行。echo
  • 使用 error_handling(0) 时,只有第一个 -call 发送输出,第二个回显的输出将被忽略。echo

在我看来,这不是函数的例外行为。我尝试更改 CHMOD (644,666,755,777),但没有更改。 也不会更改输出。error_reporting()display_errors

下面是两个屏幕截图(查看浏览器地址行和脚本第 6 行或第 7 行的 GET-Parameter):

enter image description here enter image description here

PHP Apache 错误报告

评论

2赞 TimWolla 3/27/2014
请将代码作为代码而不是图像包含在内。
0赞 Amal Murali 3/27/2014
检查错误日志。
1赞 Arian Faurtosh 3/27/2014
当您使用 和 ...是反转的吗?E_ALL00E_ALL
0赞 Stefan Brendle 3/27/2014
@Arian:这取决于是否使用 GET 参数。使用 GET-Parameter 时,它需要 ,如果没有 GET-parameter,它需要 .这就是谷歌浏览器有两张截图的原因。还是没有回答你的问题?但是,是的,它是相反的。刚刚尝试:-)E_ALL0

答:

0赞 Aziz Saleh 3/27/2014 #1

狐狸

error_reporting(-1);

看看这是否引发了您遗漏的任何错误。

更新1:

  • grep 或在文件夹中查找代码库中的所有error_reporting和display_errors并删除它们。将代码作为执行错误设置的唯一位置。这可能是万磁王正在做的事情,正在改变这一点。

评论

0赞 Stefan Brendle 3/27/2014
error_reporting(-1) 的行为与 error_reporting(E_ALL) 相同,这意味着:两行输出......