微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP错误抑制被忽略

我当前的PHP.ini文件设置为报告除弃用和严格标准以外的所有错误,如下所示:

error_reporting = E_ALL & ~E_STRICT & ~E_DEPRECATED

使用此设置的原因是我们迫切需要在托管我们网站的Linux服务器上执行PHP升级;问题是,已弃用的功能和严格的标准建议将很快填满170多个网站的错误日志文件.这些错误主要是由于函数没有声明为静态等等.最终我们将通过所有站点并修复这些问题,但与此同时我们需要抑制错误.

我在本地测试环境中遇到的问题(运行我们希望升级到的PHP版本 – 5.4.3)是错误仍然显示以下打印之前:

SCREAM: Error suppression ignored for

任何人都可以让我深入了解为什么忽略错误抑制以及如何正确地抑制错误

提前致谢.

解决方法

看来你正在使用尖叫扩展.从手册:

The scream extension gives the possibility to disable the silencing error control operator so all errors are being reported. This feature is controlled by an ini setting.

Scream是调试的扩展,旨在显示尽可能多的错误消息.这是通过忽略@运算符并始终具有最高的error_reporating级别来完成的. (无论您的error_reporting设置如何).所以你必须在你的PHP.ini中停用扩展名:

scream.enabled = off

顺便说一句:我不会更新有170个代码错误的网站的服务器.现在这是一颗定时炸弹.最好将它们逐站点迁移到新的PHP版本.在迁移过程中可能有两台服务器并行.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐