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.

Stann
quelle

Antworten:

315

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

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

Herrben
quelle
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.

Nikolay Chuprina
quelle
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.

ywarnier
quelle
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

Iljitsch
quelle