PHP5:为什么try / catch失败?

时间:2009-03-28 03:40:18

标签: php exception xampp try-catch

在我的XAMPP / Win XP版本中,PHP5.2.3无法捕获任何异常。 examples没有工作,而且:

try {
    throw new Exception('Fail');
} catch (Exception $e) {
    echo 'Succeed';
}

...导致:

  

致命错误:未捕获的异常   消息'失败'的'异常'   M:\ path \ to \ test.php:4堆栈跟踪:#0   {main}抛出 M:\ path \ to \ test.php   在线 4

所有PHP的错误设置似乎都是标准的。服务器是Apache / 2.2.4

2 个答案:

答案 0 :(得分:5)

这取决于XAMPP中 eAccelerator的构建。有一次,它有trouble optimizing try/catch statements,只是忽略了它们。

问题出在0.9.5。 XAMPP目前与eAccelerator 0.9.5.3捆绑在一起,但默认情况下已禁用。所以这可能不是你的问题。

根据ChangeLog,XAMPP在很长一段时间内没有使用PHP 5.2.3和Apache 2.2.4,这也是eAccelerator错误的时间。我建议检查你的eAccelerator版本,并可能升级XAMPP。

答案 1 :(得分:0)

我将“Succeed”作为运行脚本的输出,既可以在命令行上单独使用,也可以在Web服务器上以及在XAMPPLITE中通过apache运行。  Dunno与你的设置有什么不同

相关问题