Причины, по которым PHP будет эхо-ошибки, даже с error_reporting (0)?

Каковы некоторые причины, по которым php заставит ошибки показывать, независимо от того, что вы говорите, чтобы отключить его?

я пытался

error_reporting(0); ini_set('display_errors',0); 

без везения.

Обратите внимание на оговорку в руководстве по адресу 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, чтобы подавить их все, но это зависит от конфигурации системы.

Прагматично, не пишите файлы с синтаксическими ошибками 🙂

Чтобы предотвратить появление ошибок, вы можете

  • Запись в .htaccess: php_flag display_errors 0
  • Разделите свой код в отдельных модулях, где основной (родительский) php-файл устанавливает только error_logging, а затем включает () другие файлы.

используйте phpinfo для поиска загруженного php.ini и отредактируйте его, чтобы скрыть ошибки. он переопределяет то, что вы положили в свой скрипт.

set_error_handler() ли set_error_handler() любом месте вашего скрипта? Это переопределяет error_reporting (0)

Используйте log_errors для их регистрации вместо отображаемых

Если параметр указан в Apache, используя php_admin_value, он не может быть изменен в .htaccess или во время выполнения. См .: http://docs.php.net/configuration.changes

Прагматично, не пишите файлы с синтаксическими ошибками 🙂

Чтобы убедиться, что в вашем файле нет синтаксических ошибок, выполните следующие действия:

 php -l YOUR_FILE_HERE.php 

Это выведет что-то вроде этого:

 PHP Parse error: syntax error, unexpected '}' in Connection.class.php on line 31 

Надеюсь это поможет.

Просто добавьте ниже код в файл index.php :

ini_set ('display_errors', False);