Различия

Показаны различия между двумя версиями страницы.


protokolirovanie_oshibok_php [2025/07/06 12:39] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Протоколирование ошибок PHP ======
 +  * [[php.ini]]
 +  * [[Xdebug]] - модуль для отладки PHP скриптов.
  
 +Протоколирование ошибок [[PHP]].
 +
 +**[[http://php.net/manual/ru/errorfunc.configuration.php|Функции обработки ошибок]]:**
 +  * debug_backtrace — Выводит стек вызовов функций в массив
 +  * debug_print_backtrace — Выводит стек вызовов функций
 +  * error_get_last — Получение информации о последней произошедшей ошибке
 +  * [[http://www.php.net/manual/ru/function.error-log.php|error_log]] — Отправляет сообщение об ошибке
 +  * [[http://php.net/manual/ru/function.error-reporting.php|error_reporting]]  — Задает, какие ошибки PHP попадут в отчет. error_reporting(0); - выключит протоколирования ошибок, кроме обрабатываемых программистов вручную. error_reporting(E_ALL); - вывести все ошибки.
 +  * restore_error_handler — Восстанавливает предыдущий обработчик ошибок
 +  * restore_exception_handler — Восстанавливает предыдущий обработчик исключений
 +  * set_error_handler — Задает определенный пользователем обработчик ошибок
 +  * set_exception_handler — Задает пользовательский обработчик исключений
 +  * trigger_error — Вызывает пользовательскую ошибку/предупреждение/уведомление
 +  * user_error — Синоним для trigger_error
 +[[http://php.net/manual/ru/errorfunc.configuration.php|Настройка во время выполнения. Настройки конфигурации протоколирования событий и ошибок]]
 +  * error_reporting
 +  * display_errors
 +  * display_startup_errors
 +  * log_errors
 +  * log_errors_max_len
 +  * ignore_repeated_errors
 +  * ignore_repeated_source
 +  * report_memleaks
 +  * track_errors
 +  * html_errors
 +  * xmlrpc_errors
 +  * xmlrpc_error_number
 +  * docref_root
 +  * docref_ext
 +  * error_prepend_string
 +  * error_append_string
 +  * [[http://www.php.net/manual/ru/function.error-log.php|error_log]]: ini_set('error_log','php_errors.log'); Все PHP ошибки будут записываться в файл php_errors.log. После включения этого параметра можно использовать одноименную функцию для обработки собственных ошибок, например: error_log("Database not available!", 0);
 +
 +
 +  * **Как перенаправить вывод ошибок PHP в браузер непосредственно из скрипта?** В начало каждого скрипта нужно добавить две строки<file>
 +<?php
 +error_reporting(E_ALL);
 +ini_set('display_errors', 1);
 +//ini_set('html_errors', 1); // Включить, если установлен модуль PHP Xdebug - ошибки
 +// будут выводиться красиво и наглядно
 +ini_set('log_errors', 'On'); // Именно эта опция включает логирование
 +?>
 +</file>
 +<note important>Несмотря на то, что **display_errors** может быть установлена во время выполнения (функцией **ini_set()**), это ни на что не повлияет, если в скрипте есть фатальные ошибки. Это обусловлено тем, что ожидаемые действия программы во время выполнения не получат управления (не будут выполняться).</note>
 +
 +  * **Как подавить вывод ошибок при вызове функции на PHP?** Если перед именем вызываемой функции поставить @, то ошибки выводится не будут.

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!