1

開発用ローカルサーバーで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をオフにすると、すべてが機能します。まあ..少なくともこの問題は発生しません。

Win xp32sp3でphp5.4.7およびApache2.4.3を使用したUniformサーバーの最新インストールを使用します

編集:名前空間付きファイルと名前空間なしファイルの場合も同じです。編集:構文エラーを修正しました>。>ひどく申し訳ありません。

4

2 に答える 2

0

eacceleratorまたはAPCの2つのうちの1つのみを実行する必要があります。どちらも同じことを行い、コンパイルされたPHPをオペコードでキャッシュします。APCを使用するのは、そのユーザーキャッシュをメモリキャッシュに使用することもできるためです。ほとんどのフレームワークは、APCをキャッシュバックエンドとして使用することをサポートしています。

于 2012-10-06T13:17:36.230 に答える
0

それがあなたがその単純化されたテストケースを作ったという理由だけであるかどうかはよくわかりません。

ただし、提供するコードでは、try ブロックが閉じられることはありません。したがって、スローした例外がキャッチされない可能性があります...

于 2012-10-06T13:18:08.120 に答える