2011-08-08 2 views
4

J'utilise Zend Framework et je rencontre des problèmes où myAction() est appelé deux fois. Après avoir passé de nombreuses heures à chercher d'autres développeurs avec la même expérience, il semble qu'il y ait quelques problèmes principaux que les gens ont résolus. Soit:Zend Framework 11.1.9 action exécutée deux fois

- *. Le fichier css/* .js ou le fichier favicon n'est pas trouvé, donc j'ai suivi le journal d'accès à Apache avec rien à montrer.

-Puis j'ai cherché des images qui n'existaient pas et qui ont été référencées dans n'importe quel CSS. Pas de chance là aussi. -Dernièrement, j'ai trouvé que les utilisateurs de ZFDebug rencontraient des problèmes, mais comme je ne l'utilise pas ou que je ne l'ai pas installé, c'est quelque chose que je ne peux pas résoudre.

S'il vous plaît si quelqu'un a une idée de ce que je peux essayer de résoudre le problème, je vous serais reconnaissant de le partager avec moi.


MISE À JOUR:

kinghfb et Phil,

Merci beaucoup pour vos réponses.

Vos informations étaient très claires et toutes les très bonnes suggestions. J'ai vérifié tous mes fichiers css et js et puisque je n'utilise pas vraiment les partiels mais que j'ai des aides à la vue, c'était aussi un contrôle facile. Tous étaient au moins 4k et aucun n'était vide. Moi aussi, essayé ce que Phil a changé suggéré:

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] 

qui aussi n'a pas résolu mon problème. J'ai omis de dire plus tôt que lorsque je désactive la mise en page dans l'action, elle ne s'exécute qu'une seule fois. D'autres suggestions?

+0

Comment avez-vous remarqué la double exécution? Est-ce qu'il traite deux fois quelque chose? ou est-ce une page de chargement deux fois? – Orlando

+0

humm, j'ai vérifié mes css, ja et images inclus. J'ai testé le correctif htaccess et j'ai commenté le composant ZFdebug mais j'ai toujours le même problème de double appel. Mon action appelle une procédure stockée mysql - des idées? – emeraldjava

Répondre

3

J'ai rencontré ce même problème et trouvé des solutions similaires à ce que vous décrivez (Zend Debug, favicon.ico etc etc). Cependant, je ne courais aucune de ces choses. Ce que vous devez vérifier, c'est que tous les fichiers demandés existent réellement et sont plus grands que 0 octets (JS, CSS, images, et -importantly- modèles de fichiers), sinon le système ne le trouvera pas et essaiera de Bootstrap l'application à nouveau. Cela est dû au fait que les paramètres par défaut de mod_rewrite ne font que contourner le bootstrap lorsque le fichier demandé est> 0 octets.

Espérons que cela est clair et aidé :)

+1

Celui-ci me recevait toujours. Stupide, vide fichier 'common.css' :). Vous pouvez également modifier la condition de réécriture de '-s' à' -f' pour ignorer la vérification de la taille. – Phil

1

Merci vraiment beaucoup pour cette kinghfb de réponse, vous m'a sauvé beaucoup de temps ...

Dans mon dossier de mise en page j'avais 3 personnes (qui cause le contrôleur pour exécuter 3 fois):

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

je devais le faire à la place:

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

La façon dont j'ai trouvé ceci est en écrivant à un fichier dans mon contrôleur (faire seulement l'écho ne le montrera pas)

+0

Qu'avez-vous écrit dans le fichier pour indiquer que les ressources de l'image étaient invalides? pouvez-vous poster un extrait de code? – emeraldjava

Questions connexes