2011-08-08 12 views
4

私はZend Frameworkを使用していて、myAction()が2回呼び出されている問題に取り組んでいます。同じ経験を持つ他の開発者を探して何時間も過ごした後、人々が解決した主な問題がいくつかあるようです。Zend Framework 11.1.9アクションが2回実行される

- * .ssss/* .jsファイルまたはfaviconが見つかりません。そのため、私は表示する必要のないApacheアクセスログファイルを探します。

-その後、どのCSSでも参照されていなかったイメージを探しました。そこにも運はない。

- 私はZFDebugを使用している人が問題にぶつかっていることを知っていましたが、私はそれを使用していないか、またはインストールしているのでトラブルシューティングできません。

私がこの問題を解決しようとしていることを知っていれば、私にこのことを教えていただければ幸いです。


UPDATE:

kinghfbとフィル、

はあなたの応答をありがとうございました。

あなたの情報は非常に明確であり、非常に良い提案です。私はすべての私のcssとjsファイルをチェックしました。私は実際に部分的な部分を使っていませんでしたが、簡単なチェックであったビューヘルパーを持っています。すべては少なくとも4kであり、どれも空ではありませんでした。

SetEnv APPLICATION_ENV development 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

へ:

SetEnv APPLICATION_ENV development 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

も私の問題を解決しなかった私も、フィルが変更示唆するもの試してみました。私は、アクションでレイアウトを無効にすると、一度だけ実行されることを以前は言い切っていませんでした。その他の提案はありますか?

+0

どのようにダブル実行に気づきましたか?それは何かを2回処理していますか?またはそれはページを2回ロードしていますか? – Orlando

+0

humm、私は私のcss、jaとimagesをダブルチェックしました。私はhtaccessの修正をテストし、私はZFdebugコンポーネントをコメントアウトしましたが、私はまだ同じダブルコールの問題を抱えています。私のアクションは、mysqlストアドプロシージャを呼び出す - 任意のアイデアですか? – emeraldjava

答えて

3

私はこの同じ問題に遭遇し、あなたの説明に似た解決策を見つけました(Zend Debug、favicon.icoなど)。しかし、私はこれらのことを実行していませんでした。

チェックする必要があるのは、要求されたファイルがすべて実際に存在し、0バイト(JS、CSS、イメージ、重要なテンプレートファイル)より大きい場合です。そうでないと、システムはそれを見つけずにブートストラップしようとしますアプリをもう一度。これは、デフォルトのmod_rewrite設定が、要求されたファイルが> 0バイトの場合にのみブートストラップをバイパスするためです。

うまくいけば、それは私がコントローラーを引き起こすこと(これらの3を持っていた私のレイアウトファイルでは明らかだし、この回答kinghfbのための本当に多くのおかげで、あなたは私に多くの時間を保存:)

+1

これはいつも私を得るために使用されたものです。愚かな、空の 'common.css'ファイル:)。書き換え条件を '-s'から' -f'に変更して、サイズチェックをスキップすることもできます。 – Phil

1

を助けた...

3回)を実行する:

<img src="path/path/file.jpg" > 

を私の代わりにこれをしなければならなかった:

<img src="/path/path/file.jpg" > 

私がこれを見つけたのは、コントローラのファイルに書き込むことです(エコーだけでは表示されません)

+0

イメージリソースが無効であることを示すために、ファイルに何を書き込んだのですか?コードスニペットを投稿できますか? – emeraldjava

関連する問題