Как мне отобразить ошибки PHP?

Владимир Соколов
Владимир Соколов
  • Сообщений: 14
  • Последний визит: 20 января 2025 в 01:48
Я проверил свой ini-файл PHP ( php.ini) и display_errors установлен, а также отчет об ошибках E_ALL. Я перезапустил свой веб-сервер Apache.

Я даже поместил эти строки в начало моего скрипта, и он не обнаруживает даже простых ошибок синтаксического анализа. Например, я объявляю переменные с помощью "$" и я не закрываю заявления ";". Но все мои сценарии показывают пустую страницу с этими ошибками, но я хочу действительно видеть ошибки в выводе моего браузера.
error_reporting(E_ALL);
ini_set('display_errors', 1);

Что осталось сделать?
Редактировалось: 2 раза (Последний: 19 января 2025 в 02:00)
Автотрейд
Автотрейд
  • Сообщений: 14
  • Последний визит: 20 января 2025 в 01:49
Среда разработки
Это всегда работает для меня:
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

Однако это не позволяет PHP отображать ошибки синтаксического анализа, произошедшие в одном и том же файле. Кроме того, эти настройки могут быть переопределены PHP. В этих случаях единственный способ отобразить эти ошибки — изменить ваш php.ini (или php-fpm.conf) с помощью этой строки:
display_errors = on

(если у вас нет доступа к php.ini, затем вставив эту строку .htaccess тоже может сработать):
php_flag display_errors 1


ПРОД-среда
Обратите внимание, что приведенная выше рекомендация подходит только для среды разработки. На работающем сайте это должно быть
display_errors = off
log_errors = on

И тогда вы сможете увидеть все ошибки в журнале ошибок. См. раздел «Где найти журнал ошибок PHP».

AJAX-вызовы
В случае вызова AJAX на сервере DEV откройте DevTools (F12), затем вкладку «Сеть». Затем инициируйте запрос, результат которого вы хотите увидеть, и он появится на вкладке «Сеть». Нажмите на него, а затем на вкладку «Ответ». Там вы увидите точный результат.

Находясь на живом сервере, все равно проверяйте журнал ошибок.
Редактировалось: 1 раз (Последний: 19 января 2025 в 02:02)
DST Global
DST Global
  • Сообщений: 6
  • Последний визит: Сегодня в 13:45
Вы не можете обнаружить ошибки синтаксического анализа в том же файле, где во время выполнения включен вывод ошибок, поскольку он анализирует файл перед фактическим выполнением чего-либо (и, поскольку во время этого возникает ошибка, он ничего не выполняет). Вам потребуется изменить фактическую конфигурацию сервера, чтобы включить display_errors и использовать соответствующий уровень error_reporting. Если у вас нет доступа к php.ini, вы можете использовать .htaccess или аналогичный, в зависимости от сервера.
Технопарк Нобель
Технопарк Нобель
  • Сообщений: 9
  • Последний визит: 20 января 2025 в 01:51
Внутри вашего php.ini:
display_errors = on

Затем перезапустите веб-сервер.
Авторизуйтесь, чтобы писать на форуме.

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон