【问题标题】:Settings in php.ini partially ignored?php.ini 中的设置被部分忽略了?
【发布时间】:2014-10-10 03:26:31
【问题描述】:

不知何故,我的 php.ini 被部分忽略了。例如,我可以更改显示错误的设置,但不能更改错误报告。

设置如下:

$ php -i | grep "Configuration file"
Configuration File (php.ini) Path => /usr/local/php5/lib
Loaded Configuration File => /usr/local/php5/lib/php.ini

让我们检查error_reporting和display_errors的值:

grep "error_reporting\|display_errors"
error_reporting => 32767 => 32767
display_errors => Off => Off

让我们更改值(error_reporting = E_ERROR,display_errors = on),重新启动 Apache 并再次检查:

$ sudo nano /usr/local/php5/lib/php.ini
$ sudo apachectl restart
$ php -i | grep "error_reporting\|display_errors"
error_reporting => 32767 => 32767
display_errors => STDOUT => STDOUT

我在哪里检查这些设置并不重要。它们在浏览器和终端上都是一样的。 error_reporting 总是 32767 (=E_ALL)。

即使设置 disable_functions 也无济于事。

disable_functions = error_reporting

时区也是如此,设置会被忽略。但是 post_max_size 和 upload_max_filesize 是可变的。

我的配置有什么问题?

【问题讨论】:

    标签: php apache configuration ini error-reporting


    【解决方案1】:

    通过安装 PHP 5.5

    curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
    

    一个名为 99-liip-developer.ini 的文件将安装在 /usr/local/php5/php.d 中。这会覆盖一些设置(请参阅http://php-osx.liip.ch/#faq)。

    重命名或删除文件后,PHP 按预期工作。

    我发现了这个

    $ php -i | grep "Scan this dir for additional"
    Scan this dir for additional .ini files => /usr/local/php5/php.d
    grep -R "error_reporting" /usr/local/php5/php.d/
    

    感谢这样的!

    【讨论】:

      【解决方案2】:

      您好,您的代码中有 set_error_handler 吗?

      set_error_handler("my_error_handler"); // override error_reporting()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-10
        • 1970-01-01
        • 1970-01-01
        • 2017-06-04
        • 1970-01-01
        • 1970-01-01
        • 2019-08-07
        相关资源
        最近更新 更多