如果require_once失败,可以继续执行脚本吗?

时间:2011-08-11 01:19:29

标签: php

即使require_once失败,是否可以继续执行PHP脚本?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:1)

简单 - 它不是

使用include_once()

require()与include()相同,除非失败,它还会产生致命的E_COMPILE_ERROR级别错误。换句话说,它将暂停脚本,而include()仅发出警告(E_WARNING),允许脚本继续。

http://www.php.net/manual/en/function.require.php

答案 1 :(得分:1)

请改用include_once。您还可以检查结果并做出适当的反应

$success= include_once('foo.php');

答案 2 :(得分:0)

当前答案不正确,可以。就是这样

try{
  require_once(__DIR__.'/../core.php');
}
catch( Exception $e ){
  require_once(__DIR__.'/../../core.php');
}

将任何错误放在try / catch块中即可捕获,如果您知道解决方案,则可以在其中解决问题。例如,此块作为一个整体还是有效的,并且比使用字符串操作或扫描目录更有效。如果您的脚本当然没有硬依赖性,则只需使用include_once