Я пытаюсь не регистрировать уведомления об ошибках, которые записываются в файл журнала ошибок на моем сервере. Я пробовал (вверху моего 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
Если вы находитесь на сервере 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/
Попробуйте сделать:
error_reporting(E_ALL & ~E_NOTICE);
Директива error_reporting()
всегда будет работать ( PHP_INI_ALL
).
Вы уверены, что не включаете какую-либо библиотеку, которая изменит уровень отчетности об ошибках?
Делать error_reporting(0);
а затем выполните следующее:
var_dump(error_reporting());
Каков результат?
Получаете ли вы уведомление или «ПОЛЬЗОВАТЕЛЬ» в своем журнале?
Чтобы отключить оба использования:
error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE);
вы можете изменить уровень отчетности об ошибках на что-то другое
error_reporting (E_ERROR | E_WARNING | E_PARSE);
см. http://www.php.net/manual/en/function.error-reporting.php для получения дополнительной информации