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
Блок никогда не закрывается. Так что вполне может быть, что исключение, которое вы бросаете, никогда не будет поймано...