Gdzie są pliki dziennika Apache i PHP?


228

Zainstalowałem Apache, PHP i MySQL na Ubuntu 10.10 Desktop Edition i działa dobrze.
Tyle że nie mam pojęcia, gdzie szukać plików dziennika Apache lub PHP.

Odpowiedzi:


315

Domyślnie /var/log/apache2/error.log.

Można to skonfigurować w /etc/php5/apache2/php.ini.


Tak. Rozumiem. w Windowsie było trochę inaczej.
Stann

1
Dzienniki Apache można obracać, więc możesz chcieć sprawdzić wszystkie error.log.*pliki
nuoritoveri

@ mististerben, czy możesz mi pomóc znaleźć włączyć ten sam dziennik błędów dla CentOS 7? dowolny pomysł?
Czerwona butelka

unix.stackexchange.com/a/269090/2799 ma informacje o innych dystrybucjach
misterben

co jeśli apache nie jest zainstalowany, po prostu php?
mils

67

Sprawdź te ustawienia w php.ini:

  1. error_reporting = E_ALL | E_STRICT (zalecane dla rozwoju w php.ini)
  2. error_log = /var/log/php_errors.log
  3. Następnie utwórz plik dziennika ręcznie

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

Teraz możesz w ten sposób przeglądać błędy PHP

tail /var/log/php_errors.log

To dla mnie dobre rozwiązanie tego problemu.


4
będzie również potrzebował kroku, aby zrestartować apache, aby ustawienia zaczęły obowiązywać
rbawaskar

Trzymaj się mocno:chmod 640 /var/log/php_errors.log
berbt

26

Możesz także zdefiniować konkretny plik dziennika błędów dla każdego VirtualHost w Apache. Jeśli masz jakikolwiek VirtualHost zdefiniowany /etc/apache2/sites-available/i włączony w /etc/apache2/sites-enabled(włącz za pomocą sudo a2ensite [your-virtualhost-definition-file]), możesz zmienić dziennik błędów, dodając następujący wiersz w konfiguracji VirtualHost:

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

Może to być przydatne, jeśli masz dużo hostów vhost i chcesz podzielić je tam, gdzie zgłaszają błędy.

Ponadto możesz oglądać swój dziennik błędów na żywo, wydając następujące polecenie (dostosuj do własnego pliku dziennika, jeśli różni się od domyślnego):

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

Jest to szczególnie przydatne podczas debugowania na żywo.


To działa! Jeśli skomentuję error_log = syslogw php.ini
mmv-ru

2

Jeśli Apache został skonfigurowany z Webmin / Virtualmin, dla każdego VirtualHost jest osobny folder.

To jest

~/logs

folder dla każdego użytkownika VirtualHost.

Są to dwa pliki:

~/logs/access_log

i

~/logs/error_log

Więc oni są

/home/onedomain/logs/access_log

/home/onedomain/logs/error_log

/home/anotherdomain/logs/access_log

/home/anotherdomain/logs/error_log

...

itp.

Aby wyświetlić pliki dziennika dla każdej konkretnej domeny, zaloguj się jako użytkownik VirtualHost tej nazwy hosta i uruchom

tail -f ~/logs/error_log

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.