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


228

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

Ответы:


315

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

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


Ага. понял. это было немного по-другому на окнах.
Станн

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

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


Оно работает! Если я закомментирую 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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.