2009-03-28 2 views
1

На моей сборке XAMPP/Win XP PHP5.2.3 не удалось поймать какие-либо исключения. Ни один из examples работы, и это:PHP5: Почему попытка try/catch не работает?

try { 
    throw new Exception('Fail'); 
} catch (Exception $e) { 
    echo 'Succeed'; 
} 

... Результаты в:

Фатальная ошибка: Uncaught исключение 'Exception' с сообщением 'Сбой' в M: \ путь \ к \ test.php: 4 трассировки стека: # 0 {главная} выброшен в M: \ путь \ к \ test.php на линии

Все настройки ошибок PHP кажутся стандартными. Сервер Apache/2.2.4

ответ

5

Это зависит от eAccelerator's в XAMPP. В какой-то момент он имел trouble optimizing try/catch statements и просто игнорировал их.

Проблема была в 0.9.5. В настоящее время XAMPP связан с eAccelerator 0.9.5.3, хотя по умолчанию он отключен. Так что это может быть не ваша проблема.

В соответствии с ChangeLog XAMPP не использовал PHP 5.2.3 и Apache 2.2.4 в течение длительного времени, что также относится ко времени ошибки eAccelerator. Я рекомендую проверить версию eAccelerator и, возможно, обновить XAMPP.

+0

Спасибо. Будет обновлен и посмотреть, как это происходит ... –

+0

Исправлено, хотя даже текущий XAMPP имел несовместимый eAccelerator.dll. Я заменил «eAccelerator0953_5.2.8.dll», и все работает. –

0

Я получаю «Succeed» как вывод, выполняющий ваш скрипт, как автономный в командной строке, так и через apache на веб-сервере, а также в XAMPPLITE. Dunno, что отличает вас от настроек

Смежные вопросы