2009-03-28 16 views
1

私のXAMPP/Win XPビルドで、PHP5.2.3は例外をキャッチできません。 examples作業のなし、この:PHP5:try/catchが失敗するのはなぜですか?

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

...での結果:

致命的なエラー:キャッチされない例外 Mにメッセージ '失敗' と '例外':\パス\ test.phpを\:4スタックトレースを#0 {メイン} Mでスロー:\パスは\ \にtest.phpをライン上

PHPのすべてのエラー設定が標準的なようです。サーバーはApache/2.2.4です。

答えて

5

これはに依存し、eAcceleratorの build in 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でもApache経由で出力されます。 ダンノーとは何が違うのですか

関連する問題