Question

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.

Was it helpful?

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.

OTHER TIPS

Well not sure if that is only because you made up that simplified test case.

But in the code you offer the try block is never closed. So it might well be that the exception you throw never gets caught...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top