phptry-catcheaccelerator

PHP eAccelerator conflicts with script execution


I have a strange thing happening since I turned on eAccelerator on my development local server. It happens regardless of the script context, so it doesn't matter if I run this code as it is in a separate .php or actually expect a thrown error to be caught in the application.

this gives a 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";
 }

but if I turn eAccelerator off everything just works. well..at least this problem doesn't occur.

i use Uniform server's latest install with php 5.4.7 and Apache 2.4.3 on a win xp 32 sp3

EDIT: It's the same with namespaced and non-namespaced files. EDIT: I corrected the syntax mistakes >.> terribly sorry.


Solution

  • You should only run one of the two: eaccelerator or APC. They both do the same thing, opcode cache your compiled PHP. I would go with APC since you can also use its user cache for in memory caching--most frameworks support using it as a cache backend.