Wo sind die Apache- und PHP-Protokolldateien?


228

Ich habe Apache, PHP und MySQL auf Ubuntu 10.10 Desktop Edition installiert und es funktioniert einwandfrei.
Außer ich habe keine Ahnung, wo ich nach Apache- oder PHP-Protokolldateien suchen soll.

Antworten:


315

Standardmäßig /var/log/apache2/error.log.

Dies kann in konfiguriert werden /etc/php5/apache2/php.ini.


Ja. verstanden. Unter Windows war es etwas anders.
Stann

1
Apache-Protokolle können gedreht werden, sodass Sie möglicherweise alle error.log.*Dateien überprüfen möchten
nuoritoveri

@misterben können Sie mir helfen, das gleiche Fehlerprotokoll für CentOS 7 zu aktivieren? irgendeine Idee?
Rote Flasche

unix.stackexchange.com/a/269090/2799 hat Informationen für andere Distributionen
misterben

Was ist, wenn Apache nicht installiert ist, nur PHP?
Mils

67

Überprüfen Sie diese Einstellungen in php.ini:

  1. error_reporting = E_ALL | E_STRICT (wie empfohlen für die Entwicklung in der php.ini)
  2. error_log = /var/log/php_errors.log
  3. Dann erstellen Sie die Protokolldatei manuell

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

Jetzt können Sie PHP-Fehler auf diese Weise anzeigen

tail /var/log/php_errors.log

Dies ist für mich eine angenehme Lösung für dieses Problem.


4
Außerdem müsste der Apache neu
gestartet

Halten Sie es fest:chmod 640 /var/log/php_errors.log
berbt

26

Sie können für jeden VirtualHost in Apache auch eine bestimmte Fehlerprotokolldatei definieren. Wenn Sie einen VirtualHost definiert /etc/apache2/sites-available/und aktiviert haben /etc/apache2/sites-enabled(aktivieren mit sudo a2ensite [your-virtualhost-definition-file]), können Sie das Fehlerprotokoll ändern, indem Sie die folgende Zeile in Ihre VirtualHost-Konfiguration einfügen:

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

Dies kann nützlich sein, wenn Sie viele VHosts haben und aufteilen möchten, wo sie die Fehler melden.

Sie können Ihr Fehlerprotokoll auch live anzeigen, indem Sie den folgenden Befehl ausführen (passen Sie es an Ihre eigene Protokolldatei an, wenn es sich vom Standard unterscheidet):

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

Dies ist besonders beim Live-Debuggen hilfreich.


Es klappt! Wenn ich error_log = syslogin der php.ini auskommentiere
mmv-ru

2

Wenn Apache mit Webmin / Virtualmin eingerichtet wurde, gibt es für jeden VirtualHost einen eigenen Ordner.

Es ist

~/logs

Ordner für jeden VirtualHost-Benutzer.

Dies sind zwei Dateien:

~/logs/access_log

und

~/logs/error_log

Also sind sie

/home/onedomain/logs/access_log

/home/onedomain/logs/error_log

/home/anotherdomain/logs/access_log

/home/anotherdomain/logs/error_log

...

usw.

So zeigen Sie Protokolldateien für die einzelnen Domänen an: Melden Sie sich als VirtualHost-Besitzer dieses Hostnamens an und führen Sie ihn aus

tail -f ~/logs/error_log

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.