Liebe PHP Profis,
wie kann man ein php include ignorieren, wenn das File einen fehler/bug hat?
Sprich:
- file.php okay:
include(file.php); - file.php nicht okay:
ignore include(file.php);
Vorschläge?
Liebe PHP Profis,
wie kann man ein php include ignorieren, wenn das File einen fehler/bug hat?
Sprich:
Vorschläge?
Siehe „ErrorException“ in php Hilfe. Ein try catch block sollte reichen
try {
include 'file.php';
} catch (ErrorException $ex) {
}
Danke kalle234
wird in dem Fall ErrorException auch benötigt?
Ja. So:
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
set_error_handler("exception_error_handler");
try {
include 'file.php';
} catch (ErrorException $ex) {
echo "include fehler\n";
}
echo "Mache trotzdem weiter ...\n";
Muss mich verbessern. Die Lösung geht nicht. Scheint ein ungelöstes Problem zu sein.
Gibt nur einen „dirty hack“
function ChkInc($file){
return file_exists($file) && (substr(exec("php -l $file"), 0, 28) == "No syntax errors detected in");
}
if (ChkInc("file.php")) {
include 'file.php';
} else {
echo "parse error in file.php\n";
}
Das ist nicht schön, würde aber funktionieren wenn man es unbedingt braucht. Voraussetzung ist, dass php im cli modus (Kommandozeile) installiert ist
Danke