PHP Error Log einrichten
Beschreibung: Auf einem Virtuellen oder Hosted Server Fehlermeldungen und Warnungen von PHP in einem Log protokollieren
Kategorie: Installation und Update
Link zu diesem Artikel: Alles auswählen
[url=https://www.phpbb.de/kb/viewarticle?a=110&sid=45fd1d987c0dff799ee36ccee9af952b]Knowledge Base - PHP Error Log einrichten[/url]
Irgendwann kann es bei jedem vorkommen: Das Forum zeigt nicht den gewünschten Startbildschirm, z.B. den Forenindex, sondern im schlimmsten Falle gar nichts mehr. In aller Regel ist die Ursache ein Fehler bei der Abarbeitung eines PHP-Skriptes. Das Gute ist, dass PHP dazu eine Meldung generiert, die aber nicht angezeigt wird. Muss sie auch nicht, denn wer vorbeugt und z.B. bei der Einrichtung des Forums auch gleich das Speichern dieser Meldungen einrichtet, ist im Fall des Falles fein raus und kann sofort nachsehen, wo es hakt.
Die meisten Hoster ermöglichen es ihren Kunden auch im Falle von Virtuellen und Hosted Servern die Meldungen zu protokollieren, ohne dass auf die Systemdateien des Servers zugegriffen werden muss.
Es gibt aktuell zwei, früher drei Möglichkeiten, das Speichern von PHP-Meldungen einzurichten, welche davon der eigene Hoster anbietet, sollte in seinen FAQs zu finden sein, notfalls hilft ein Anruf bei der Support-Hotline.
Alle drei Möglichkeiten haben gemeinsam, dass man für seinen eigenen Webspace etwas in eine Textdatei im Root-Verzeichnis des Forums eintragen muss, wir wollen diese Fälle hier etwas näher betrachten, wobei zu beachten ist, dass die Details zur Notation des Verzeichnisses, in dem die Log-Datei abgelegt wird, von Hoster zu Hoster variiert.
- Die erste Möglichkeit (ab PHP 8.x die üblichste) ist mittels einer als
.user.inibezeichneten Datei, mit dieser Methode arbeitet z.B. all-inkl, sie sollte folgende Einträge enthalten:Code: Alles auswählen
error_reporting = -1 error_log = /pfad/dateiname log_errors = On display_errors = Off - Die zweite Möglichkeit besteht darin, eine Datei namens
php.inizu erzeugen, dies ist z.B. bei IONOS so, die folgende Einträge hat:Code: Alles auswählen
error_reporting = E_ALL; log_errors = On; display_errors = Off; error_log = /pfad/dateiname; - Bis einschließlich PHP 7.4 war es möglich, in die Datei
.htaccessfolgendes einzutragen:Mit dem Update auf PHP 8.x wird diese Methode ncht mehr funktionieren, sie wird hier nur der Vollständigkeit halber erwähnt.Code: Alles auswählen
php_flag log_errors On php_value error_log /pfad/dateiname
pfad ist eine vom jeweiligen Hoster abhängige absolute Pfadangabe zum Verzeichnis, in dem das Forum gespeichert ist, entweder aus den FAQs lesen oder den Support fragen.dateiname ist der Name der (Text-)Datei, in der die Meldungen abgespeichert werden, gewöhnlich wird dafür php_error.log verwendet. Sie wird automatisch erzeugt, wenn ein Fehler auftritt, muss also nicht händisch angelegt werden.