无法让 PHP 停止显示错误

无法让 PHP 停止显示错误

与大多数人的问题相反,我无法让 PHP 停止显示错误,我已在 php.ini 中将 display_errors 设置为关闭,但它仍然显示它们,我也尝试了 .htaccess 和内联 ini_set 和 error_reporting 变量,但错误仍然显示。

我该怎么做才能防止这种覆盖?

Mac OS X Lion Server 10.7.1 MAMP 使用 DIY Mac Server (diymacserver.com) 的说明进行编译

更新:

这是我的 php.ini 文件存储的地方...

这是我的 php.ini 所在的位置

这是运行时我的 display_errors 设置的值

这是我的 display_errors 的值

这是在 /etc/php.ini 中写入的复制粘贴值

display_errors = Off

答案1

确保您编辑了正确的 php.ini 文件,因为有两个 ini 文件,一个用于 apache,一个用于 CLI。

答案2

我最近遇到了类似的行为,发现 php.ini 布局相当混乱:默认值等的列表位于文件顶部,而设置的描述和设置本身则位于更下方。(见php 7 忽略 ini 文件,但声称加载)。

  1. 稍后的设置可能会覆盖您的设置。浏览或搜索 ini 文件中所有出现的“display_errors”:grep -n display_errors/etc/php.ini
  2. “已加载的配置文件”的值是什么?

答案3

display_errors指令可以在运行时使用以下方式更改ini_set功能。确保没有任何代码会重新打开错误显示。

此外,当您更新 php.ini 设置时,请确保重新启动 Apache。

答案4

值得记住的是,即使您不显示或记录错误,它们仍然会对吞吐量和性能产生很大影响。

最明显的 3 个原因是:

1)您正在更改错误的 php.ini 文件(您已经解决了)。

2) php.ini 设置在其他地方被覆盖 - 如果这是 mod_php,那么可能在 httpd.conf 文件或 .htaccess 中

3)你在进行更改后没有重新启动 PHP 进程(当我们谈论 mod_php 时是 httpd)

相关内容