Как включить логи PHP на виртуальном хостинге
Как настроить отображение и логирование ошибок PHP.
Регулярный анализ логов PHP помогает своевременно обнаруживать ошибки, предупреждения и баги в работе сайта. Рекомендуется всегда включать логирование ошибок, особенно во время разработки и тестирования.
1. Включение логов PHP через файл .htaccess
Самый простой способ включить отображение и логирование ошибок — добавить директивы в файл .htaccess в корне сайта.
Базовый вариант:
php_value display_errors On
php_value display_startup_errors On
Расширенный вариант (рекомендуется):
php_flag display_errors On
php_flag display_startup_errors On
php_flag log_errors On
php_flag ignore_repeated_errors Off
php_flag ignore_repeated_source Off
php_flag track_errors On
php_value error_reporting -1
php_value error_log /home/ваш_логин/public_html/php-errors.log
После добавления этих строк ошибки PHP будут:
- Отображаться на экране (при включённом
display_errors) - Записываться в указанный файл
php-errors.log
2. Включение ошибок в PHP-скрипте
Если нужно включить отображение ошибок только для конкретного скрипта, добавьте в начало файла:
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
ini_set('error_reporting', E_ALL);
3. Настройка через файл php.ini
Если у вас есть доступ к файлу php.ini, добавьте/измените следующие параметры:
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
error_log = /home/ваш_логин/public_html/php-errors.log
Логирование скриптов, запущенных по cron
Ошибки при запуске скриптов через cron или вручную из командной строки не попадают в веб-логи. Чтобы сохранить результат выполнения, перенаправьте вывод в файл:
/usr/local/bin/php /home/ваш_логин/public_html/site.ru/script.php &>> /home/ваш_логин/logs/cron.log
Рекомендуется создавать отдельную папку /logs в домашнем каталоге для хранения всех логов.
Полезные рекомендации
- Во время разработки держите
display_errors = On - На рабочем (production) сайте рекомендуется отключать
display_errorsи оставлять толькоlog_errors = On - Регулярно просматривайте файл
php-errors.log— он поможет найти скрытые проблемы - После изменения настроек очистите кэш браузера и, при необходимости, кэш OPCache
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!