Comment Simuler Erreur 500 dans Symfony 2
Je me demande comment simuler une erreur 500 dans Symfony 2.
J'ai lu ce post où Élever suggère de lancer une exception
throw new sfException('Test de l'erreur 500');
dans Symfony 1.4.
J'ai été de placer ce code dans mon
\store\vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\Controller\ExceptionController.php
mais j'obtiens l'erreur fatale
De la classe de Symfony\Bundle\TwigBundle\Controller\sfException' ne trouve pas dans /home/notroot/www/store/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php sur la ligne 49`
49 ligne se réfère à l'exception code que j'ai ajouté.
Ma question est de savoir si la levée d'une exception est toujours viable en forçant une erreur 500 dans Symfony 2, et si oui, où dois-je mettre cette exception?
Si ce n'est plus viable, comment pourrais-je être en mesure de tester une erreur 500?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire comme ceci.
N'oubliez pas d'ajouter
en haut de votre fichier.
Edit : À force de Symfony erreur 500, votre proposition est très bien :
Le mettre dans une fonction de contrôleur.
$response
code à l'intérieur du contrôleur, et à l'intérieur d'une fonction qui est à l'intérieur du contrôleur. Pour tester, je suis allé àhttp://local.store.com/app_dev.php/
ethttp://local.store.com/
mais je ne vois pas une page d'erreur 500.$response
code à l'intérieur d'une fonction qui est à l'intérieur du contrôleur, et un essai par l'intermédiaire d'http://local.store.com/app_dev.php/bad-url
- je obtenir un Google Chrome 500 page à la place de mon Symfony page d'erreur 500.Que vous pouvez faire:
HttpException
rend plus évidente à partir du code que le développeur destinée à provoquer directement une réponse 500.La façon la plus simple de le faire est:
return new Response('', 500);
N'oubliez pas d'inclure
Symfony\Component\HttpFoundation\Response
.Une bonne façon de le faire peut être:
Si vous voulez déclencher une
FatalErrorException
dans Symfony2 pour voir si vous l'application pour gérer correctement, vous pouvez créer une action de ce genre dans votre contrôleur:De la division par zéro va générer un
Warning
, tout en jetant leException
, bien, il va tout simplement de le jeter. 🙂Vous devez utiliser Symfony\Component\HttpKernel\Exception\HttpException.
Une autre manière, on doit faire quelque chose comme
1/0;
, mais je n'ai pas testé.