Каковы причины, по которым PHP отображает ошибки даже при использовании error_reporting(0)?

Автотрейд
Автотрейд
  • Сообщений: 18
  • Последний визит: 24 февраля 2025 в 11:27
Каковы некоторые причины, по которым PHP принудительно отображает ошибки, независимо от того, что вы приказываете ему отключить?
я пробовал
error_reporting(0);
ini_set('display_errors', 0); 

безуспешно.
Редактировалось: 1 раз (Последний: 18 января 2025 в 23:25)
DST Global
DST Global
  • Сообщений: 19
  • Последний визит: 7 мая 2025 в 18:07
Большинство ошибок 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 раза (Последний: 18 января 2025 в 23:25)
Технопарк Нобель
Технопарк Нобель
  • Сообщений: 12
  • Последний визит: 31 марта 2025 в 17:13
Чтобы предотвратить появление ошибок, вы можете:
— Напишите в .htaccess: php_flag display_errors 0
— Разделите свой код на отдельные модули, где основной (родительский) файл PHP устанавливает только error_logging, а затем включить() другие файлы.
Владимир Соколов
Владимир Соколов
  • Сообщений: 31
  • Последний визит: 25 марта 2025 в 21:57
Используйте phpinfo, чтобы найти загруженный php.ini и отредактировать его, чтобы скрыть ошибки. Он переопределяет то, что вы вставили в свой скрипт.
Авторизуйтесь, чтобы писать на форуме.