477 Stimmen

Wo speichert PHP das Fehlerprotokoll? (PHP 5, Apache, FastCGI, und cPanel)

Ich verwende Shared Hosting und habe cPanel , Apache und PHP wird von FastCGI . Wo speichert PHP das Fehlerprotokoll?

Gibt es eine andere Möglichkeit, wie ich das Fehlerprotokoll in einer gemeinsam genutzten Hosting-Umgebung finden kann, anstatt die gesamte Website-Struktur zu durchsuchen, um nach fehler_protokoll Dateien?

Ich habe Zugang zu den php.ini Datei (ich verwende PHP Version 5.2.16).

40 Stimmen

Unter Linux wird entweder /var/log/httpd/error_log o /var/log/apache2/error.log . Diese Dateien sind Eigentum von Root, also müssen Sie Root sein oder sudo um sie zu sehen oder zu lesen.

135 Stimmen

php --info | grep error

14 Stimmen

Für diejenigen, die eine Windows-Lösung suchen, verwenden Sie php --info | findstr /r /c:"error_log" um zu sehen, wo sich die Protokolldatei befindet.

14voto

Vivek Punkte 462

Es kann auch sein /var/log/apache2/error.log wenn Sie sich in Google Compute Engine .

Und so kann man den Schwanz sehen:

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

13voto

ThorSummoner Punkte 13974

Es scheint, dass PHP standardmäßig protokolliert nicht Fehler überall. Die Website error_log in der php.ini ist bei allen Installationen, die ich gesehen habe, auskommentiert.

Im Allgemeinen I:

  1. suchen php.ini Dateien. locate php.ini .

  2. Suchen Sie in diesen Dateien nach dem error_reporting Wert;

    Diese sollte auf eine beliebige Kombination von PHP-Protokollebenen gesetzt werden, die für Sie ausreichend ist. ,

    Zum Beispiel: E_ALL & ~E_DEPRECATED & ~E_STRICT

  3. Prüfen Sie die error_log Wert, um sicherzustellen, dass er auf eine tatsächliche Stelle zeigt und nicht auskommentiert ist.

    Der Standardwert gibt keinen vollständigen Pfad an, sondern nur einen Dateinamen; ich weiß nicht, wohin dieser Pfad normalerweise aufgelöst wird. Wahrscheinlich /var/log/ .

12voto

mailo Punkte 2571

Sie sollten den absoluten Pfad verwenden, wenn Sie fehler_protokoll Variable in Ihrer php.ini Datei, andernfalls werden die Fehlerprotokolle entsprechend dem relativen Pfad gespeichert.

error_log = /var/log/php.errors

Eine andere Lösung wäre das Schreiben eines einfachen Skripts, das alle Fehlerprotokolldateien im Verzeichnisbaum auflistet.

8voto

J4GD33P 51NGH Punkte 588
php --info | grep error

Dies ist hilfreich.

6voto

DarkNeuron Punkte 6922

NGINX speichert es normalerweise in /var/log/nginx/error.log o access.log (auf jeden Fall unter Ubuntu).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X