在我的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
答案 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与你的设置有什么不同