在我的XAMPP/Win XP版本中,PHP5.2.3无法捕获任何异常.这些例子都不起作用,这个:
try { throw new Exception('Fail'); } catch (Exception $e) { echo 'Succeed'; }
...结果是:
致命错误:M:\ path\to\test.php中未捕获的异常'Exception',消息'Fail':4堆栈跟踪:#4 {main} 在第4行的M:\ path\to\test.php中抛出
所有PHP的错误设置似乎都是标准的.服务器是Apache/2.2.4
这取决于eAccelerator在XAMPP中的构建.有一次,它在优化try/catch语句时遇到了麻烦,只是忽略了它们.
问题出在0.9.5.XAMPP目前与eAccelerator 0.9.5.3捆绑在一起,但默认情况下已禁用.所以这可能不是你的问题.
根据ChangeLog,XAMPP在很长一段时间内没有使用PHP 5.2.3和Apache 2.2.4,这也是eAccelerator错误的时间.我建议检查您的eAccelerator版本并可能升级XAMPP.