Причины, по которым PHP будет эхо-ошибки, даже с error_reporting (0)?
Каковы некоторые причины, по которым php заставит ошибки показывать, независимо от того, что вы говорите, чтобы отключить его?
Я пробовал
error_reporting(0);
ini_set('display_errors',0);
без везения.
Ответы
Ответ 1
Обратите внимание на оговорку в руководстве по http://uk.php.net/error_reporting:
Большинство ошибок E_STRICT оцениваются во время компиляции, поэтому такие ошибки не сообщаются в файле, где error_reporting улучшается, чтобы включать ошибки E_STRICT (и наоборот).
Если ваша базовая система настроена на сообщение об ошибках E_STRICT, они могут выводиться до того, как ваш код будет рассмотрен даже. Не забывайте, что error_reporting/ini_set - это оценки времени выполнения, и все, что выполняется на этапе "перед запуском", не увидит их эффектов.
На основе вашего комментария, что ваша ошибка...
Ошибка анализа: синтаксическая ошибка, неожиданный T_VARIABLE, ожидающий ',' или ';' в /usr/home/REDACTED/public _html/dev.php в строке 11
Тогда применяется то же общее понятие. Ваш код никогда не запускается, поскольку он синтаксически недействителен (вы забыли ";" ). Поэтому ваша смена отчетов об ошибках никогда не встречается.
Для этого требуется изменение отчета об ошибках системного уровня. Например, на Apache вы можете разместить...
php_value error_reporting 0
в файле .htaccess, чтобы подавить их все, но это зависит от конфигурации системы.
Прагматически не записывайте файлы с синтаксическими ошибками:)
Ответ 2
Чтобы предотвратить появление ошибок, вы можете
- Запись в .htaccess: php_flag display_errors 0
- Разделите свой
кода в отдельных модулях, где
Основной (родительский) php файл устанавливает только
error_logging, а затем включить()
другие файлы.
Ответ 3
используйте phpinfo, чтобы найти загруженный php.ini и отредактировать его, чтобы скрыть ошибки. он переопределяет то, что вы положили в свой script.
Ответ 4
Используется ли set_error_handler()
в любом месте вашего script? Это переопределяет error_reporting (0)
Ответ 5
Используйте log_errors для их регистрации вместо отображаемых
Ответ 6
Если параметр указан в Apache, используя php_admin_value, он не может быть изменен в .htaccess или во время выполнения.
См.: http://docs.php.net/configuration.changes
Ответ 7
Прагматически не записывайте файлы с синтаксическими ошибками:)
Чтобы убедиться в отсутствии синтаксических ошибок в вашем файле, выполните следующие действия:
php -l YOUR_FILE_HERE.php
Это выведет что-то вроде этого:
PHP Parse error: syntax error, unexpected '}' in Connection.class.php on line 31
Надеюсь, что это поможет.
Ответ 8
Просто добавьте код ниже в файл index.php:
ini_set ('display_errors', False)