PHP更改display_errors = On,但在phpinfo还是显示Off

PHP更改display_errors = On,但在phpinfo还是显示Off

img

img

引用 皆我百晓生 小程序回复内容作答:
首先确保你更改了正确的 php.ini 文件。你可以在 phpinfo() 输出的信息中找到 "Loaded Configuration File" 来确定当前正在使用的 php.ini 文件。

如果你确定你修改了正确的 php.ini 文件,但是 phpinfo() 仍然显示 display_errors = Off,则可能由于以下原因:

  1. 配置更改未生效:确保在更改 php.ini 文件后重新启动了你的 Web 服务器。PHP 配置更改只在服务器重启后生效。

  2. php.ini 文件权限问题:确保你有足够的权限修改 php.ini 文件。你可以通过使用管理员权限或 root 用户权限来编辑文件。

  3. 使用了其他配置方式:有些服务器配置可能会覆盖 php.ini 文件中的设置,例如 Apache 的 .htaccess 文件中的 php_flag。确保没有其他配置文件修改了 display_errors 的值。

如果你确保上述原因都没有问题,但是 display_errors 仍然不生效,你可以尝试在代码中使用 ini_set() 函数来临时更改 display_errors 的值。

例如:

ini_set('display_errors', 1);

然后使用 phpinfo() 来查看 display_errors 的值是否已更改。

最后,记得在生产环境中关闭 display_errors 以避免向用户显示错误信息。