PHP Error Log bei PHP Version 7 und höher

Wer kenn nicht das Problem. Die PHP Version wurde auf 7 oder höher angehoben und nun werden die PHP Fehler nicht mehr im Frontend angezeigt.

Das Verhalten ist ja aus dem Sicherheitsaspekt vollkommen korrekt.
Aber ab und zu debuggt man ja schon ganz gerne und dann ist es schön, mal auf die Schnelle das Error Log zu sehen.

Die Lösung ist relativ einfach:

eine .htaccess Datei im Verzeichnis anlegen:

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_value error_log /relativer/pfad/zum/ordner/php_errors.log

Das wars. Jetzt kann man per FTP oder Http auf die Fehler zugreifen und fleißig debuggen.

Aus Sicherheitsgründen sollte das Anzeigen der Fehler aber nach erfolgtem Debuggin wieder ausgeschaltet werden oder zumindest die Datei per htaccess Zugriffschutz, gesichert werden.

Whitespace durch includierte PHP Dateien vermeiden

Darauf wäre ich nicht gekommen. Manchmal ist es wirklich einfacher die PHP Doku zu lesen, statt stundenlang nach der Fehlerursache zu suchen.

Hinweis:

Der schließende Tag eines PHP-Blocks am Ende einer Datei ist optional, und in einigen Fällen ist das Weglassen hilfreich, wenn Sie include oder require verwenden, so dass ungewollte Whitespaces nicht am Ende einer Datei auftreten und Sie noch im Stande sind, später weitere Header an die Response hinzuzufügen. Es ist ebenfalls praktisch, wenn Sie Output Buffering verwenden und keine ungewollten Whitespaces am Ende eines durch die eingebundenen Dateien erzeugten Parts sehen wollen.

Einfach

?>

am Ende der inkludierten PHP Datei weg lassen und schon klappt es auch mit dem unerwünschten Whitespace

Dies ist zum Beispiel sinnvoll wenn Preislisten als CSV Datei erstellt werden sollen