我当前的php.ini文件设置为报告除弃用和严格标准以外的所有错误,如下所示:
error_reporting = E_ALL & ~E_STRICT & ~E_DEPRECATED
使用此设置的原因是我们迫切需要在托管我们网站的Linux服务器上执行PHP升级;问题是,已弃用的功能和严格的标准建议将很快填满170多个网站的错误日志文件。这些错误主要是由于函数没有声明为静态等等。最终我们将通过所有站点并解决这些问题,但与此同时我们需要抑制错误。
我在本地测试环境中遇到的问题(运行我们希望升级到的PHP版本 - 5.4.3)是错误仍然显示以下打印过:
SCREAM: Error suppression ignored for
有谁能让我深入了解为什么忽略错误抑制以及如何正确地抑制错误?
提前致谢。
答案 0 :(得分:7)
您似乎正在使用尖叫扩展。从手册:
scream扩展可以禁用静默错误控制操作符,以便报告所有错误。此功能由ini设置控制。
Scream是调试的扩展,旨在显示尽可能多的错误消息。这是通过忽略@
运算符并始终具有最高的error_reporating级别来完成的。 (无论您的error_reporting
设置如何)。因此,您必须在php.ini中停用扩展名:
scream.enabled = off