2010-02-03 4 views
2

mon projet symfony à la production lorsqu'une actions n'existe pas lance l'erreur 500 au lieu de 404. À l'environnement de développement, il montre l'erreur 404 (en fait un débogage de l'erreur 404 indique l'action introuvable). J'utilise des modèles personnalisés 404 comme le dit le manuel.erreur symfony 500 au lieu 404 à la production

+3

Les journaux d'erreurs Apache perdent-ils de la lumière? –

Répondre

2

Il semble que l'erreur se situe dans votre action 404 personnalisée. Pouvez-vous fournir le code de votre action 404 et comment avez-vous défini votre 404 personnalisé dans votre settings.yml?

+0

oui je vérifie l'action personnalisée 404, c'était un bug. – llazzaro

0

J'avais le même problème où je recevais un débogage 404, mais un 500 dans la production. Je sais que ce n'est pas la réponse pour le cas de llazzaro puisqu'il a marqué Cyro comme réponse correcte, mais voici ce qui m'est arrivé au cas où quelqu'un d'autre aurait un problème.

Ma classe d'actions ne s'étendait pas sfActions, mais étoffait plutôt une classe intermédiaire (qui à son tour a étendu sfActions). Cette classe intermédiaire avait un appel à $this->getRoute(), qu'il supposait renvoyé un objet, alors qu'en fait il peut parfois être nul. Essayer d'accéder à des méthodes sur un objet nul a évidemment échoué, ce qui a causé l'erreur 500.

Je l'ai compris, (comme Mike B suggéré par un commentaire sur la question initiale), en vérifiant mes logs Apache. Il y avait un message d'erreur indiquant il:

PHP Fatal error: Call to a member function getRequirements() on a non-object in /path/to/apps/my_app/lib/sfIntermediateActions.php on line 46

Hope this helps quelqu'un d'autre qui ne peut pas le résoudre de l'autre réponse offerte ici!

Questions connexes