提问人:raphael 提问时间:8/17/2014 最后编辑:raphael 更新时间:7/26/2018 访问量:906
php.ini中的设置被部分忽略?
Settings in php.ini partially ignored?
问:
不知何故,我的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是可以改变的。
我的配置有什么问题?
答:
1赞
raphael
8/17/2014
#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/
感谢suchit!
0赞
zzapper
11/11/2014
#2
嗨,你的代码中有set_error_handler吗?
set_error_handler("my_error_handler"); // override error_reporting()
评论