2009-03-28 5 views
1

내 XAMPP/Win XP 빌드에서 PHP5.2.3이 예외를 catch하지 못합니다. examples 작업 없음,이 :PHP5 : try/catch가 실패하는 이유는 무엇입니까?

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

... 결과 :

치명적인 오류 : catch되지 않은 예외 M의 메시지 '실패'와 '예외': \ 경로 \ test.php \합니다 : 4 스택 추적을 : # 0 {주} M 던져 : \ 경로 것은 \ \하는 test.php 라인 4

PHP의 모든 오류 설정이 표준으로 보입니다. 서버는 Apache/2.2.4입니다.

답변

5

이것은 에 의존합니다. eAccelerator의 빌드를 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

XAMPPLITE뿐 아니라 웹 서버의 명령 줄에서 아파치를 통해 스크립트를 실행하는 출력으로 "성공"합니다. Dunno 귀하의 설정과 다른 점

관련 문제