5

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

error_reporting = E_ALL & ~E_STRICT & ~E_DEPRECATED

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

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

SCREAM: Error suppression ignored for

谁能给我一些关于为什么忽略错误抑制以及如何正确抑制错误的见解?

提前致谢。

4

1 回答 1

8

看来您正在使用尖叫扩展。从手册:

尖叫扩展提供了禁用静音错误控制运算符的可能性,以便报告所有错误。此功能由 ini 设置控制。

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

scream.enabled = off

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

于 2013-03-04T16:15:22.940 回答