php-Error-Log für php7 / php8 bei all-inkl.com aktivieren
Das Error-Log ist eine wichtige Hilfe, um die Ursache für Fehlermeldungen auf Websites herauszufinden. Der Server schreibt dort rein, welche Dateien welche Fehlermeldung verursacht haben. Beim Provider all-inkl werden aber normalerweise keine Log-Dateien angelegt, was die Fehlersuche anfangs etwas mühsam macht. Aber das kann man sehr einfach aktivieren – man braucht dazu lediglich FTP-Zugang auf den Server und sollte wissen, welche php-Version am Server läuft (7.x oder 8.x).
Das kann man im Admin-Bereich der technischen Verwaltung für die jeweilige (Sub)Domain nachsehen oder per phpinfo() recht einfach herausfinden.
In beiden Fällen: vorab per FTP am Server ins Hauptverzeichnis der Applikation einloggen, für die man das Logging aktivieren will. Dort ein Verzeichnis für die Logdateien anlegen (z.B. /errorlogs ), dieses kriegt volle Schreibrechte (0777). Danach unterscheidet sich der Ablauf:
Error-Log für php 7.x aktivieren
Im Hauptverzeichnis eine .htaccess anlegen, in diese kommen folgende Zeilen (wenn bereits eine .htaccess im Hauptverzeichnis liegt, so kommen diese Zeilen ganz an den Anfang und der Rest der Datei bleibt unverändert!):
php_flag log_errors on
php_value error_log "./errorlogs/logdatei.log"
Das schaltet jeweils das Logging ein und gibt dem Server an, wo die Logdatei liegen soll – in diesem Beispiel werden die Fehler nun in die Datei logdatei.log geschrieben, die sich in /errorlogs/ im Hauptverzeichnis befindet. Die geänderte .htaccess wieder auf den Server hochladen – fertig.
Error-Log für php 8.x aktivieren
Bei php 8 werden bei all-inkl die Werte aus der .htaccess nicht mehr berücksichtigt! Daher im Hauptverzeichnis eine neue Textdatei mit dem Namen .user.ini anlegen (oder die bestehende Datei zum Bearbeiten öffnen. Dort nun folgendes eintragen:
log_errors = on
error_log = "./errorlogs/logdatei.log"
Das schaltet das Logging ein und gibt dem Server an, wo die Logdatei liegen soll – in diesem Beispiel werden die Fehler nun in die Datei logdatei.log geschrieben, die sich in /errorlogs/ im Hauptverzeichnis befindet.
Bei php 8.x kann man in der .user.ini auch noch die Werte für Memory-Limit und maximale Ausführungszeit hinterlegen (sofern man diese anpassen will), denn auch diese werden nicht mehr aus der .htaccess geholt!
memory_limit = 256M
max_execution_time = 120
Die geänderte .unser.ini wieder auf den Server hochladen – fertig.
- Google Place ID herausfinden – oder: wie man direkt auf die Rezensionen-Eingabemaske verlinken kann! - Sa. 30.3.2024
- Rezension vs. Rezession - Mi. 27.12.2023
- Fröhliche Weihnachten! - So. 24.12.2023
Warum funktioniert das nur so kompliziert? WordPress hat eine schaltbare Konstante WP_DEBUG eingebaut, damit geht Anzeige/Logging usw. bei anderen Hostinanbietern ohne .ini Fummelei mit allen PHP Versionen.
Weil: das php-Errorlog am Webserver ist etwas anderes als das Debug-Log von WordPress… ;-)
Vielen Dank hat mir geholfen.