Как остановить PHP от регистрации ошибок PHP Notice - PullRequest
6 голосов
/ 20 января 2010

Я пытаюсь не регистрировать ошибки уведомлений, которые записываются в файл журнала ошибок на моем сервере.Я пытался (в верхней части моего index.php):

ini_set('display_errors', 0);  
error_reporting(E_ALL ^ E_NOTICE);

Но я все еще получаю ошибки уведомления PHP в указанном файле журнала ошибок.среда общего хостинга, поэтому я не могу редактировать мой php.ini файл.

phpinfo() говорит мне:

- Version 5.2.12
- error_reporting 6143
- error_log error_log
- safe_mode Off

Ответы [ 4 ]

8 голосов
/ 20 января 2010

Если вы находитесь на сервере Apache, попробуйте установить значение в файле .htaccess.Общий формат:

php_flag  log_errors on
php_value error_log  /path/to/error.log
php_value error_reporting integer

, где integer - это значение, которое вы получаете, запустив что-то вроде:

echo E_ALL & ~E_NOTICE; // prints 30711

Подробнее здесь:

http://perishablepress.com/press/2008/01/14/advanced-php-error-handling-via-htaccess/

2 голосов
/ 20 января 2010

Попробуйте выполнить:

error_reporting(E_ALL & ~E_NOTICE);

Директива error_reporting() всегда будет работать (PHP_INI_ALL).

Вы уверены, что не включаете никакие библиотеки, которые изменяютсяваш уровень сообщений об ошибках?


Выполните error_reporting(0);, а затем сделайте следующее:

var_dump(error_reporting());

Какой вывод?

1 голос
/ 20 января 2010

Вы получаете Уведомления или Уведомления "ПОЛЬЗОВАТЕЛЯ" в вашем журнале?

Для отключения обоих используйте:

error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE);
0 голосов
/ 20 января 2010

вы можете изменить уровень сообщения об ошибках на другой

error_reporting (E_ERROR | E_WARNING | E_PARSE);

см. http://www.php.net/manual/en/function.error-reporting.php для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...