【问题标题】:phpinfo() showing display_errors as off despite php.ini setting it as on and command line php -i showing it is on [duplicate]phpinfo() 将 display_errors 显示为关闭,尽管 php.ini 将其设置为 on 并且命令行 php -i 显示它在 [重复]
【发布时间】:2018-10-15 20:45:12
【问题描述】:

我正在同时使用 php 7 和 nginx。

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

php -i | grep 'display_errors'

返回

display_errors => 标准输出 => 标准输出

我的理解是这意味着应该打开显示错误。此命令确认我使用了正确的 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 和Web 服务器的PHP 通常有单独的配置文件……
  • @deceze 我也想知道。 /etc/php/7.0/cli 不是仅用于控制台吗?
  • 是的,这就是为什么它在里面写着cli
  • 你可能还需要重启 PHP FPM。
  • @deceze 你是对的。我使用了这个命令 service php7.0-fpm restart 并且它起作用了。谢谢

标签: php


【解决方案1】:

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

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

您的命令行调用肯定使用一个用于 cli,我猜您的网络服务器使用“另一个”用于 nginx。

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

【讨论】:

  • 不好意思忘了说,我也修改了php/7.0/fpm中的php.ini文件,重启nginx没有成功
猜你喜欢
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 2017-06-30
  • 2019-12-28
  • 2014-08-03
相关资源
最近更新 更多