PHP eAccelerator конфликтует с выполнением скрипта

У меня происходит странная вещь, так как я включил 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, все будет работать. ну.. по крайней мере эта проблема не возникает.

я использую последнюю версию Uniform Server с php 5.4.7 и Apache 2.4.3 на win xp 32 sp3

РЕДАКТИРОВАТЬ: То же самое с файлами с пространством имен и без пространства имен. РЕДАКТИРОВАТЬ: я исправил синтаксические ошибки>.> Ужасно извините.

2 ответа

Решение

Вы должны запустить только один из двух: eaccelerator или APC. Они оба делают одно и то же, код операции кеширует ваш скомпилированный PHP. Я бы пошел с APC, так как вы также можете использовать его пользовательский кеш для кеширования памяти - большинство фреймворков поддерживают его использование в качестве бэкэнда кеша.

Ну, не уверен, что это только потому, что вы составили этот упрощенный контрольный пример.

Но в коде вы предлагаете try Блок никогда не закрывается. Так что вполне может быть, что исключение, которое вы бросаете, никогда не будет поймано...

Другие вопросы по тегам