Der folgende Code sollte alle Fehler anzeigen:
<?php
// ----------------------------------------------------------------------------------------------------
// - Display Errors
// ----------------------------------------------------------------------------------------------------
ini_set('display_errors', 'On');
ini_set('html_errors', 0);
// ----------------------------------------------------------------------------------------------------
// - Error Reporting
// ----------------------------------------------------------------------------------------------------
error_reporting(-1);
// ----------------------------------------------------------------------------------------------------
// - Shutdown Handler
// ----------------------------------------------------------------------------------------------------
function ShutdownHandler()
{
if(@is_array($error = @error_get_last()))
{
return(@call_user_func_array('ErrorHandler', $error));
};
return(TRUE);
};
register_shutdown_function('ShutdownHandler');
// ----------------------------------------------------------------------------------------------------
// - Error Handler
// ----------------------------------------------------------------------------------------------------
function ErrorHandler($type, $message, $file, $line)
{
$_ERRORS = Array(
0x0001 => 'E_ERROR',
0x0002 => 'E_WARNING',
0x0004 => 'E_PARSE',
0x0008 => 'E_NOTICE',
0x0010 => 'E_CORE_ERROR',
0x0020 => 'E_CORE_WARNING',
0x0040 => 'E_COMPILE_ERROR',
0x0080 => 'E_COMPILE_WARNING',
0x0100 => 'E_USER_ERROR',
0x0200 => 'E_USER_WARNING',
0x0400 => 'E_USER_NOTICE',
0x0800 => 'E_STRICT',
0x1000 => 'E_RECOVERABLE_ERROR',
0x2000 => 'E_DEPRECATED',
0x4000 => 'E_USER_DEPRECATED'
);
if(!@is_string($name = @array_search($type, @array_flip($_ERRORS))))
{
$name = 'E_UNKNOWN';
};
return(print(@sprintf("%s Error in file \xBB%s\xAB at line %d: %s\n", $name, @basename($file), $line, $message)));
};
$old_error_handler = set_error_handler("ErrorHandler");
// other php code
?>
Die einzige Möglichkeit, mit diesem Code eine leere Seite zu erzeugen, ist ein Fehler im Shutdown-Handler. Ich habe dies von meinem eigenen CMS kopiert und eingefügt, ohne es zu testen, aber ich bin sicher, dass es funktioniert.
1 Stimmen
coding.smashingmagazine.com/2011/11/30/
5 Stimmen
@JuannStrauss, Das ist noch untertrieben. Und wenn Sie schließlich siehe die Fehler, es heißt
T_PAAMAYIM_NEKUDOTAYIM
. Oder vielleicht "muss eine Instanz von integer sein, integer gegeben" .2 Stimmen
Anleitung dazu: code2real.blogspot.com/2015/06/
0 Stimmen
Wenn Sie einen Parse-Fehler haben, funktioniert bei vielen Webhosts nichts davon, und Sie haben möglicherweise keinen Zugriff auf die Fehlerprotokolle. Sie müssen php auf Ihrem lokalen Rechner installieren (XAMPP unter Windows usw.) und einen Synax-Check auf der Kommandozeile durchführen
php.exe -l <your file name>