Raketenwilli: PHP Error Handler schlägt sehr wohl an...

Beitrag lesen

01_error.php:

<?php
error_reporting( E_ALL );
ini_set( "display_errors", 0 );

function customError( $errno, $errstr ) {
	echo "Fehler: $errstr" . PHP_EOL;
}
set_error_handler( 'customError', E_USER_WARNING );


if (1 !== 2) {
	http_response_code( 500 );
	trigger_error( '1 !== 2', E_USER_WARNING );
	exit();
}

Terminal:

~/tmp$ php -S 127.0.0.1:9000 01_error.php

02_error.mjs:

import fetch from 'node-fetch';

fetch('http://127.0.0.1:9000/')
		.then(response => response.text())
		.then(data => {
			console.log('Success:', data);
		})
		.catch(error => {
			console.error('Error:', error);
		});

Zweites Terminal:

~/tmp$ node 02_error.js

Ausgabe:

Success: Fehler: 1 !== 2

Da das 'Success:' vom JS, 'Fehler:' von der PHP-Funktion customError() hinzugefügt wurde ist bewiesen, dass alles läuft wie vorgesehen.

ABER

Was Du da machst sieht aus, wie „von hinten durch die Brust ins Auge.“ Lese doch mal die Seite zu den Exceptions im Handbuch.