У меня есть функция, которая динамически требует файлы. В некоторых файлах могут быть ошибки, и в этом случае вся страница потерпит неудачу.
Есть ли способ проверить, появится ли какая-либо ошибка в требуемом файле, и если все в порядке, загрузить файл, если что-то не так, показать ошибку? Что-то вроде этого:
try{
require( "./formfunctions/" . $file . ".php" );
$result = $returnValue;
} catch(Exception $e){
$result = '<strong>Loading form failed. Please contact Sys Admin about this</strong>';
}
Да, если вы используете PHP 7, вы можете сделать это следующим образом:
try {
require 'error.php';
} catch (Throwable $e) {
echo $e->getMessage();
}
Вы можете проверить ошибки в php файле с помощью этой команды php -f :
$output = shell_exec('php -l inc.php');
if(substr($output, 0, 16) == 'No syntax errors') {
echo('OK');
}else {
echo('KO');
}
Но исключения по-прежнему правильный способ управления ошибками.
как насчет проверки, если file_exists()
Перед использованием require()
,
if (file_exists("./formfunctions/" . $file . ".php")) {
try{
require "./formfunctions/" . $file . ".php";
$result = $returnValue;
} catch(Throwable $e){
echo $e->getMessage();
}
}