【问题标题】:Why isn't a setting in php.ini not being loaded?为什么没有加载 php.ini 中的设置?
【发布时间】:2012-11-30 02:27:41
【问题描述】:

当我们调用未定义的变量时,我试图让 PHP 显示警告。

php.ini 有error_reporting = E_ALL | E_STRICT 这一行。

问题是,严格的警告消息没有输出到浏览器。

在 PHP 脚本中,回显 E_ALL | E_STRICT 会显示值 32767。

然而error_reporting() 返回的值是22519。我在网上读到这个值实际上匹配E_ALL & ~E_NOTICE & ~E_DEPRECATED。

我的php.ini 中error_reporting 的值是否可能被覆盖?如果是这样,我将如何调查其值的设置位置? error_reporting 未在脚本中的任何位置设置。我正在编辑正确的 php.ini 文件,因为我正在编辑由 phpinfo() 指定的 /etc/php5/apache2/php.ini。

编辑

phpinfo() 包含以下信息:

Loaded Configuration File   /etc/php5/apache2/php.ini

Additional .ini files parsed    /etc/php5/apache2/conf.d/curl.ini, /etc/php5/apache2/conf.d/gd.ini, /etc/php5/apache2/conf.d/mcrypt.ini, /etc/php5/apache2/conf.d/mysql.ini, /etc/php5/apache2/conf.d/mysqli.ini, /etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/pdo_mysql.ini 

error_reporting no value (Local)    no value (Master)

【问题讨论】:

  • 可能是它在您的应用程序本身中被覆盖,就像在任何其他代码之前运行的配置文件中一样?在您的phpinfo () 中是否显示error_reporting 的22519?
  • 嗯,也可以设置在.htaccess中。
  • 这个问题怎么看不懂?
  • 执行phpinfo() 并 (i) 发布 "error_reporting" 的主值和本地值 (ii) 检查 "Loaded Configuration File" 的值并确保 PHP 正在加载正确的 .ini文件。
  • 您确定您正在编辑的 php.ini 文件是正在加载的文件吗?不管 phpinfo 说什么,可能有问题的脚本依赖于另一个 ini 文件

标签: php error-reporting


【解决方案1】:

我认为您必须在更改 php.ini 文件后重新加载 apache,才能看到更改生效。根据您的分布,sudo service apache2 reload 或 sudo /etc/init.d/apache2 reload 之类的东西应该可以完成这项工作。

【讨论】:

  • 是的,我已经在每次编辑后启动了 Apache。在同一个php.ini 中更改display_errors 的值确实有效果,这向我表明还有其他问题。
  • 大概它必须在导入 php.ini 设置后进行更改。如果将phpinfo() 放在一个文件中,Master value 和Local value 是否相同?我能想到的三个地方会改变它,vhost/httpd.conf、.htaccess、php 运行时。
  • 我现在不太确定:设置 display_errors 实际上不会在phpinfo() 中不改变,这与我之前的想法相反。 phpinfo() 中的 error_reporting 值实际上对本地和主服务器都显示 no value。
  • /etc/apache2/sites-enabled/ 中的 vhost 配置文件未设置 error_reporting。至于httpd.conf,/etc/apache2/httpd.conf其实是empty。
  • Mint 可能与当时的 Ubuntu 类似,后者的 Apache 配置位于 /etc/apache2/apache2.conf 而不是 httpd.conf。
【解决方案2】:

问题在于我在 php.ini 中引入了语法错误。

我认为我在phpinfo() 的问题中提到的值是它设置的 PHP 的默认值。他们没有被触动,因为 PHP 无法加载它的 ini 文件。

感谢所有回复这里帮助调试问题的人。

【讨论】:

    猜你喜欢
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 2021-05-30
    相关资源
    最近更新 更多