Finden Sie den Speicherort des Fehlerprotokolls in PHP
-
Verwenden Sie den Befehl
php --info
, um den Dateispeicherort des Fehlerprotokolls in PHP zu finden -
Verwenden Sie die Funktion
phpinfo()
, um die Anweisungenerror_log
zu finden, um das Fehlerprotokoll in PHP zu finden - Verwenden Sie die XAMMP-Systemsteuerung, um das Fehlerprotokoll in PHP in Windows anzuzeigen
Wir werden eine Methode zum Auffinden und Anzeigen des Fehlerprotokolls in PHP im Modul apache2
mit dem Befehl php --info
vorstellen. Wir können diesen Befehl sowohl in Windows- als auch in Linux-Systemen verwenden. Diese Methode findet den Speicherort der PHP-Fehlerprotokolldateien im System.
Wir werden auch eine andere Methode vorstellen, um das Fehlerprotokoll in PHP in einem Windows-System mithilfe der Funktion phpinfo()
zu finden. Diese Methode hilft, die Direktive error_log
und ihre Position im System zu finden.
In diesem Artikel wird eine weitere Methode zum Anzeigen des PHP-Fehlerprotokolls mithilfe des XAMPP-Control Panels vorgestellt. Diese Methode funktioniert für den Apache-Webserver.
Verwenden Sie den Befehl php --info
, um den Dateispeicherort des Fehlerprotokolls in PHP zu finden
Wir können den Befehl php --info
verwenden, um den Dateispeicherort des Fehlerprotokolls in PHP im Apache-Modul zu finden. Für Windows verwenden Sie das php --info | findstr /r /c:"error_log"
Befehl in der Eingabeaufforderung. Bei Linux verwenden Sie den Befehl php --info | grep-Fehler
. Diese Befehle geben den Ort des Fehlerprotokolls im Terminal aus.
Wir können den Befehl cat
verwenden, um das Fehlerprotokoll in PHP anzuzeigen. Der Befehl cat
steht für verketten und zeigt den Inhalt einer Datei im Linux/Unix-System an. Die Datei error.log
enthält das Fehlerprotokoll. Die Datei befindet sich im Verzeichnis var/log/apache2
. Öffnen Sie beispielsweise das Terminal und schreiben Sie den Befehl sudo cat /var/log/apache2/error.log
. Der Befehl zeigt den Inhalt der Datei error.log
im Terminal an. Es enthält die Liste der Fehler und Hinweise, die in PHP aufgetreten sind.
Beispielcode:
cat /var/log/apache2/error.log
Ausgabe:
[Mon May 10 13:59:14.803938 2021] [php7:error] [pid 185143] [client ::1:56320] PHP Parse error: syntax error, unexpected '<', expecting end of file in /var/www/html/index.php on line 21
[Mon May 10 14:01:00.048212 2021] [php7:error] [pid 185108] [client ::1:56340] PHP Fatal error: Uncaught Error: Call to undefined function php_func() in /var/www/html/index.php:8\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 8, referer: http://localhost/index.php
Verwenden Sie die Funktion phpinfo()
, um die Anweisungen error_log
zu finden, um das Fehlerprotokoll in PHP zu finden
Wir können die Funktion phpinfo()
verwenden, um die Position von error_log
-Anweisungen in PHP in Windows zu überprüfen. Wir können diese Methode verwenden, um den Speicherort des Fehlerprotokolls auch im Linux-System zu finden. Sobald wir den Speicherort des Fehlerprotokolls gefunden haben, können wir durch die Dateistruktur navigieren und das Fehlerprotokoll anzeigen. Schreiben Sie beispielsweise die Funktion phpinfo()
in eine PHP-Datei und öffnen Sie die Datei im Browser. Suchen Sie eine Direktive error_log
und überprüfen Sie die Position der Direktive direkt daneben. Navigieren Sie zum Speicherort der Datei und eine Textdatei namens php_error_log
erscheint dort. Öffnen Sie die Datei, um die Fehlerprotokolle in PHP anzuzeigen. Wenn der Ort nicht in der Datei phpinfo
erscheint, navigieren Sie durch den Ordner xammp
und klicken Sie auf den Ordner apache
. Im Ordner apache
existiert ein Ordner logs
und darin befindet sich eine Textdatei error
, die das Fehlerprotokoll enthält.
Das folgende Beispiel zeigt die Fehlerprotokolle, die sich in der Datei error
am Speicherort xammp/apache/logs
befinden.
Beispielcode:
# php 7.x
<?php
phpinfo();
?>
cd xampp/apache/logs/
Ausgabe:
[Tue Apr 27 10:53:49.699720 2021] [php7:error] [pid 13372:tid 1900] [client ::1:51930] PHP Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\\xampp\\htdocs\\upload.php:20\nStack trace:\n#0 {main}\n thrown in C:\\xampp\\htdocs\\upload.php on line 20, referer: http://localhost/upload.php
[Tue Apr 27 10:54:06.232963 2021] [php7:error] [pid 13372:tid 1908] [client ::1:51934] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in C:\\xampp\\htdocs\\upload.php:20\nStack trace:\n#0 C:\\xampp\\htdocs\\upload.php(20): PDOStatement->execute()\n#1 {main}\n thrown in C:\\xampp\\htdocs\\upload.php on line 20, referer: http://localhost/upload.php
Verwenden Sie die XAMMP-Systemsteuerung, um das Fehlerprotokoll in PHP in Windows anzuzeigen
Wir können die XAMMP-Systemsteuerung verwenden, um das Fehlerprotokoll in PHP für das Apache-Modul in Windows anzuzeigen. Öffnen Sie beispielsweise die Anwendung xammp und suchen Sie das Apache-Modul. Suchen Sie in den Aktionsspalten die Schaltfläche Protokolle. Klicken Sie auf die Schaltfläche Protokolle, und einige Optionen werden angezeigt. Wählen Sie die Option Apache (error.log)
. Dann öffnet sich die Textdatei error
, die das Fehlerprotokoll enthält.
Der nachfolgende Ausgabeabschnitt zeigt die Fehlerprotokolle der Textdatei error
. Die Datei enthält die zufällig aufgetretenen Fehler.
Ausgabe:
[Tue Apr 27 10:53:49.699720 2021] [php7:error] [pid 13372:tid 1900] [client ::1:51930] PHP Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\\xampp\\htdocs\\upload.php:20\nStack trace:\n#0 {main}\n thrown in C:\\xampp\\htdocs\\upload.php on line 20, referer: http://localhost/upload.php
[Tue Apr 27 10:54:06.232963 2021] [php7:error] [pid 13372:tid 1908] [client ::1:51934] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in C:\\xampp\\htdocs\\upload.php:20\nStack trace:\n#0 C:\\xampp\\htdocs\\upload.php(20): PDOStatement->execute()\n#1 {main}\n thrown in C:\\xampp\\htdocs\\upload.php on line 20, referer: http://localhost/upload.php
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn