Как включить логи 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

Помощь

Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!

Обновлено:
Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам