Где находятся файлы журналов Apache и PHP?

228

Я установил Apache, PHP и MySQL на настольную версию Ubuntu 10.10, и она работает нормально.
За исключением того, что я понятия не имею, где искать файлы журналов Apache или PHP.

Стан
источник

Ответы:

315

По умолчанию /var/log/apache2/error.log.

Это можно настроить в /etc/php5/apache2/php.ini.

misterben
источник
Ага. понял. это было немного по-другому на окнах.
Станн
1
Журналы Apache можно вращать, поэтому вы можете проверить все error.log.*файлы
nuoritoveri
@misterben Можете ли вы помочь мне найти включить тот же журнал ошибок для CentOS 7? любая идея?
Красная Бутылка
unix.stackexchange.com/a/269090/2799 содержит информацию о других дистрибутивах
misterben
Что делать, если Apache не установлен, просто PHP?
мила
67

Проверьте эти настройки в php.ini:

  1. error_reporting = E_ALL | E_STRICT (как рекомендуется для разработки в php.ini)
  2. error_log = /var/log/php_errors.log
  3. Затем создайте файл журнала вручную

    touch /var/log/php_errors.log
    chown www-data: /var/log/php_errors.log
    chmod +rw /var/log/php_errors.log
    

Теперь вы можете просматривать ошибки PHP таким образом

tail /var/log/php_errors.log

Это приятное решение этой проблемы для меня.

Николай Чуприна
источник
4
также потребуется шаг для перезапуска apache, чтобы настройки вступили в силу
rbawaskar
Держите его крепко:chmod 640 /var/log/php_errors.log
бербт
26

Вы также можете определить конкретный файл журнала ошибок для каждого VirtualHost в Apache. Если у вас есть VirtualHost, определенный /etc/apache2/sites-available/и включенный /etc/apache2/sites-enabled(включенный с помощью sudo a2ensite [your-virtualhost-definition-file]), вы можете изменить журнал ошибок, добавив следующую строку в конфигурацию VirtualHost:

ErrorLog ${APACHE_LOG_DIR}/[your-vhost]-error.log

Это может быть полезно, если у вас много vhosts и вы хотите разделить, где они сообщают об ошибках.

Кроме того, вы можете просматривать журнал ошибок в реальном времени, выполнив следующую команду (адаптируйтесь к вашему собственному файлу журнала, если он отличается от значения по умолчанию):

sudo tail -f /var/log/apache2/error.log

Это особенно полезно при живой отладке.

ywarnier
источник
Оно работает! Если я закомментирую error_log = syslogв php.ini
mmv-ru
2

Если Apache был настроен с Webmin / Virtualmin, для каждого VirtualHost есть отдельная папка.

это

~/logs

папка для каждого пользователя VirtualHost.

Это два файла:

~/logs/access_log

а также

~/logs/error_log

Так они

/home/onedomain/logs/access_log

/home/onedomain/logs/error_log

/home/anotherdomain/logs/access_log

/home/anotherdomain/logs/error_log

...

и т.п.

Чтобы просмотреть файлы журналов для каждого конкретного домена, войдите в систему как владелец VirtualHost с этим именем хоста и запустите

tail -f ~/logs/error_log

Ильич
источник