2011-07-19 3 views

答えて

2

これは例外がスローされたためです。これは、最初のリクエストの後でエラーコントローラを後で呼び出したためです。

4

preDispatchまたはpostDispatchへのコールを複製する可能性が最も高いです。これらのメソッドは、まだディスパッチされていないリクエストごとにZend_Controller_Front::dispatchのループ内で呼び出されます。これは、ディスパッチがfalseに設定され、コントローラ内で$this->_forwardを使用した場合でも、クローンされたリクエストがこれらのメソッドの別の実行を引き起こすことを意味します。

routeStartupまたはrouteShutdownに変更してみてください。これらは通常、アプリケーションに対して1回だけ実行されます。 pre/postDispatchを絶対に実行する必要がある場合は、プラグインをカウントするか、元のリクエストのコピーを保持し、プラグインに既に入っているかどうかを確認する必要があります。

もう1つの可能性は、プラグインを2回追加することです。これは、application.iniを介して追加していて、ブートストラップまたは他のスクリプトにregisterPluginもある場合に発生します。偶然にプラグインを2回追加した場合、何回実行したの回数をカウントしても、pre/postDispatchは役に立ちません。

+0

あなたは私を救った!レイアウトパスにモジュール名を追加していましたが、そのたびにモジュール名が2回追加されていました。今はすべてが大丈夫です:) – s3v3n

0

ファイルにdebug_backtrace()をダンプすると、それぞれの呼び出しがどこから来ているかを確認できます。

関連する問題