Настройки в php.ini частично игнорируются?

Почему-то мой 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 можно изменить.

Что не так с моей конфигурацией?


person raphael    schedule 16.08.2014    source источник


Ответы (2)


Установив 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/

Кредиты на такое!

person raphael    schedule 16.08.2014

Привет, у тебя есть set_error_handler в твоем коде?

set_error_handler("my_error_handler"); // override error_reporting()
person zzapper    schedule 11.11.2014