Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置PHP在运行时忽略错误报告()?_Php - Fatal编程技术网

如何配置PHP在运行时忽略错误报告()?

如何配置PHP在运行时忽略错误报告()?,php,Php,我正在运行一个充满错误报告调用的应用程序,但我正在运行PHP5.5,它有很多被低估的警告。我已经像这样正确地配置了php.ini文件 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 但是所有的error_reporting()调用都会覆盖它。是否有任何方法可以配置为忽略对error_reporting()的运行时调用 更改所有的error_reporting()调用是一件非常麻烦的事情,尤其是因为应用程序需要定期更新,而且

我正在运行一个充满错误报告调用的应用程序,但我正在运行PHP5.5,它有很多被低估的警告。我已经像这样正确地配置了php.ini文件

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
但是所有的error_reporting()调用都会覆盖它。是否有任何方法可以配置为忽略对error_reporting()的运行时调用

更改所有的error_reporting()调用是一件非常麻烦的事情,尤其是因为应用程序需要定期更新,而且我希望避免运行安装后的hack脚本


我不想提及应用程序的名称,它是VBulletin 5。

有一个ini设置
禁用函数
,您可以使用该设置禁用
错误报告()。这样应用程序就无法通过此功能设置错误报告级别

disable_functions = error_reporting
使用此指令只能禁用内部功能。用户定义的函数不受影响。 此指令必须在php.ini中设置。例如,您不能在httpd.conf中设置此指令


请参阅:

如果您可以控制Web服务器配置,则可以使用
php\u admin\u value
error\u reporting
设置为无法覆盖的值

根据这一点,无法在.htaccess文件中使用,因此您必须在整个服务器上使用它。。。也许有点太多了

另一种可能是禁用错误报告。缺点是每次使用它时都会收到警告,但您可以绕过它:

您可以在php.ini中添加一个只影响指定脚本的部分:

[PATH=<path>]
error_reporting = 0
disable_functions = "error_reporting"
[PATH=]
错误报告=0
禁用功能=“错误报告”

“我不想提及应用程序的名称,它是VBulletin 5。”是的。如果应用程序中有一个
错误报告()
调用,这是对糟糕的PHP开发人员的提示<代码>错误报告
应通过服务器配置设置ony(即
php.ini
)。
str\u replace('error\u reporting','',$code);-)如果你能“强制”重新定义一个函数就好了。就像在JavaScript中一样。哦,在VBullentin中,有很多调用chanage来报告错误。我的意思很重要。在我的一台开发机器上,我运行的PHP版本比支持的要高。VBullentin是专有代码,因此帮助改进代码不是一个选项,尤其是当我们发布更新时。如果你读了原帖,我想我说得很清楚。哈哈。是的,但这是我一直在想的事情。将邪恶与极端邪恶混为一谈。我喜欢+1 :)