PHP5:Почему попытка/поймать не удается?
Вопрос
В моей сборке XAMPP/Win XP PHP5.2.3 не может перехватить никаких исключений.Ни один из Примеры работа, а это:
try {
throw new Exception('Fail');
} catch (Exception $e) {
echo 'Succeed';
}
...результат:
Фатальная ошибка:Исключение Uncaught 'Exception' с помощью сообщения «Fail» в M: path to test.php: 4 Stack Trace:#0 {main} брошен в M:\путь\к est.phpВ сети 4
Все настройки ошибок PHP кажутся стандартными.Сервер — Apache/2.2.4.
Решение
Это зависит от eAccelerator's построить в XAMPP.В какой-то момент это имело проблемы с оптимизацией операторов try/catch и просто проигнорировал их.
Проблема была в 0.9.5.XAMPP в настоящее время поставляется в комплекте с eAccelerator 0.9.5.3, хотя по умолчанию он отключен.Так что это может быть не ваша проблема.
Согласно Журнал изменений, XAMPP не использовал PHP 5.2.3 и Apache 2.2.4 в течение ДОЛГОГО времени, что также примерно во время ошибки eAccelerator.Я рекомендую проверить вашу версию eAccelerator и, возможно, обновить XAMPP.
Другие советы
Я получаю «Успех» в качестве вывода при запуске вашего скрипта, как автономно в командной строке, так и через Apache на веб-сервере, а также в XAMPPLITE.Не знаю, чем отличается ваша установка