不知何故,我的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是可以改变的。
我的配置有什么问题?
答案 0 :(得分:1)
通过
安装PHP 5.5curl -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/
致信于此!
答案 1 :(得分:0)
您的代码中是否有set_error_handler?
set_error_handler("my_error_handler"); // override error_reporting()