1

自从我在开发本地服务器上打开 eAccelerator 后,发生了一件奇怪的事情。无论脚本上下文如何,它都会发生,因此无论我是在单独的 .php 中运行此代码还是实际上期望在应用程序中捕获抛出的错误都无关紧要。

这给出了一个Fatal Error: Uncaught exception

try {
    throw new \Exception("Get out of here asap.");
    echo 'We never make it to here..';
 }  
 catch ( \Exception $e ) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
 }

但如果我关闭 eAccelerator,一切都会正常工作。好吧..至少这个问题不会发生。

我在 win xp 32 sp3 上使用 Uniform 服务器的最新安装和 php 5.4.7 和 Apache 2.4.3

编辑:命名空间和非命名空间文件相同。编辑:我更正了语法错误>。>非常抱歉。

4

2 回答 2

0

您应该只运行以下两者之一:eaccelerator 或 APC。他们都做同样的事情,操作码缓存你编译的 PHP。我会选择 APC,因为您还可以将其用户缓存用于内存缓存——大多数框架都支持将其用作缓存后端。

于 2012-10-06T13:17:36.230 回答
0

好吧,不确定这是否仅仅是因为您编写了简化的测试用例。

但是在您提供的代码中,该try 块永远不会关闭。所以很可能你抛出的异常永远不会被捕获......

于 2012-10-06T13:18:08.120 回答