首页 > 解决方案 > phpinfo() 将 display_errors 显示为关闭,尽管 php.ini 将其设置为 on 并且命令行 php -i 显示它已打开

问题描述

我一起使用 php 7 和 nginx。

令人费解的问题 - phpinfo() 将 display_errors 显示为关闭。进入命令行并运行:

php -i | grep '显示错误'

返回

显示错误 => 标准输出 => 标准输出

我的理解是这意味着应该打开显示错误。此命令确认我使用了正确的 ini 文件:

php -i | grep php.ini

当它返回此输出时:

配置文件 (php.ini) 路径 => /etc/php/7.0/cli

那是我正在使用的文件。

我已经重新启动了 nginx

systemctl 重启 nginx

我已经没有选择了。我能做的最好的就是在我的文件顶部本地设置它:

ini_set('display_errors', 1)

之后运行 phpinfo() 显示 display_errors 处于“本地”状态,但“master”处于关闭状态,即每个脚本都处于打开状态。这没关系,但不会检测到语法错误,所以我希望它在 phpinfo 中的两列都打开,而不必通过 ini_set 在每个脚本中设置它。

请注意 - 我知道之前有人问过这个问题,但是在修改正确的 php.ini 文件并通过 php -i 确认 display_errors 值正确后,我还没有遇到仍然有这个问题的人。

编辑:忘了提,我还修改了 php/7.0/fpm 中的 php.ini 文件并重新启动了 nginx,但没有成功

标签: php

解决方案


不确定 nginx,但我在默认安装的 apache 中有 2 个 php.inis。

一个用于 cli ( /etc/php5/cli ),一个用于 apache ( /etc/php5/apache2/php.ini )。

您的命令行调用明确地将一个用于 cli,我猜您的网络服务器将“另一个”用于 nginx。

我希望他们平等并创建了一个软链接......


推荐阅读