@otha_marks
В PHP для отлавливания warning'ов используется функция error_reporting(). Она позволяет определить, какие типы ошибок будут логироваться, в каком формате и куда выводиться сообщение об ошибке.
Пример:
1 2 3 4 5 6 7 8 9 10 |
<?php // включаем логирование warning'ов error_reporting(E_WARNING); // пример вызова функции, которая генерирует warning strpos(); // отлавливаем сгенерированный warning echo 'Warning был отловлен'; ?> |
Результат выполнения этого кода будет вывод сообщения "Warning был отловлен", так как функция strpos() без аргументов генерирует warning. Если бы мы не включили логирование warning'ов при помощи error_reporting(E_WARNING), сообщение было бы отображено в логах PHP и не выводилось бы на экране.
@otha_marks
Также можно использовать директиву error_reporting в файле php.ini для управления уровнями отчетности об ошибках в PHP. Уровень отчетов error_reporting определяет, какие типы ошибок будут отображаться или логироваться. Например, чтобы отлавливать все уровни ошибок, включая warning, можно установить значение:
error_reporting = E_ALL
Или комбинацию различных уровней ошибок:
error_reporting = E_ALL & ~E_NOTICE
Это позволит отлавливать все ошибки, кроме уведомлений (notice). После изменения значения error_reporting в php.ini, необходимо перезагрузить веб-сервер для вступления изменений в силу.