Как полностью выключить вывод ошибок в PHP?

Здравствуйте! Обычно для включения максимально подробного вывода ошибок я использую этот код:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

У меня вопрос. Чтобы отключить вывод ошибок вообще (если заливаю сайт на прод.), то нужен тот же самый код, только везде значения - 0? Или хватит только одной строчки? Если одной, то какая из них?
  • Вопрос задан
  • 502 просмотра
Решения вопроса 3
glaphire
@glaphire
PHP developer
В точке входа в проект (index.php), в самом начале выставить все по нулям
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
error_reporting(0);
Ответ написан
Konata69lol
@Konata69lol
backend php laravel
Вывод ошибок лучше не выключать. Так вы лишите себя зацепок в случае багов на проде.
Для себя вывод подробностей ошибок перенаправляем в лог (файл/бд/другое хранилище).

Пользователю не нужно показывать подробности ошибок (стектрейс). Достаточно отобразить страницу с кратким описанием (понятным пользователю) ошибки, например "404 Не найдено то-то" или "500 Ошибка сервера".

Еще вариант - средиректить пользователя на главную страницу и флеш сообщением вывести краткое описание ошибки.
Ответ написан
Acuna
@Acuna
Заполнил свой профиль
Я бы не рекомендовал затыкать вывод ошибок полностью, это bad practice. Пишу на PHP уже лет 10, и только недавно установил уровень E_ALL, исправление всех ошибок заняло где-то неделю, но сейчас я нарадоваться не могу, ибо ругается даже на отсутствие ключей в массиве (ибо в большинстве случаев если обращаются к какому-либо ключу, он должен быть в массиве, а его отсутствие - следствие какой-то проблемы). Об отсутствии какой-либо переменной я и вовсе не говорю. Для юзера достаточно сообщения вида "500 Ошибка сервера", а для разрабов ошибки можно писать хоть в текстовый файл, используя собственный обработчик set_error_handler ().
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Доступ к php.ini есть? Если да, то добавьте
display_errors = off
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Лучшие люди Иваново
от 40 000 до 90 000 руб.
N1.RU Новосибирск
от 100 000 руб.
Living Core Казань
от 50 000 руб.