PHP Fehler-Ausgabe bei Funktionen ohne Rückmeldung

Manchmal kommt es vor, dass eine PHP Funktion z.B. get_file_contents() einfach nur bool(false) zurück liefert, ohne jegliche weitere Informationen. Dies macht das debuggen schwierig und eine Fehlerlösung fast unmöglich.

Die Situation, dass file_get_contents nur false ausgibt hatte mich zu Verzweiflung getrieben. Mit dem nachfolgendem Code, kann man einen Funktionsaufruf in einen Error-Handler wrappen um so unterliegende Fehlermeldungen ausgegeben zu bekommen.

<?php
	set_error_handler(
		function ($severity, $message, $file, $line) {
			throw new ErrorException($message, $severity, $severity, $file, $line);
		}
	);
 
	try {
		$example_url = "https://google.com/";
		file_get_contents( $example_url );
	}
	catch (Exception $e) {
		echo $e->getMessage();
	}
 
	restore_error_handler();

In meinem Fall war es jetzt z.B. so, dass get_file_contents nur false returned hat, weil es einen SSL Fehler in der Aufrufkette vom Server gab.

Code kam von der Antwort aus dem Stackoverflow Thread (Quelle)


Page Tools