instalar - symfony español
Cómo simular el error 500 en Symfony 2 (6)
Me pregunto cómo simularía un error 500 en Symfony 2.
He estado leyendo este post donde Raise sugiere lanzar una excepción
lanzar nueva sfException (''Probando el error 500'');
en Symfony 1.4.
He estado colocando este código en mi
/store/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
pero me sale el error fatal
La clase ''Symfony / Bundle / TwigBundle / Controller / sfException'' no se encuentra en /home/notroot/www/store/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php en la línea 49`
La línea 49 se refiere al código de excepción que agregué.
Mi pregunta es si lanzar una excepción todavía es viable para forzar un error 500 en Symfony 2, y si es así, ¿dónde pongo esta excepción?
Si esto ya no es viable, ¿cómo podría probar un error 500?
La forma más sencilla de hacer esto es:
return new Response('''', 500);
No olvides incluir Symfony/Component/HttpFoundation/Response
.
Puedes hacerlo así.
//in your controller
$response = new Response();
$response->setStatusCode(500);
return $response;
No olvides añadir
use Symfony/Component/HttpFoundation/Response;
en la parte superior de su archivo.
Edición: Para forzar el error de Symfony 500, tu propuesta está bien:
throw new /Exception(''Something went wrong!'');
Ponlo en una función de controlador.
Si deseas activar una FatalErrorException
en Symfony2 para ver si la aplicación la está manejando correctamente, puedes crear una acción como esta en tu controlador:
public function fatalErrorExceptionAction()
{
$unknown->getVoid();
}
La división por cero generará una Warning
al lanzar la Exception
, bueno, simplemente la lanzará. :-)
Tienes que usar Symfony/Component/HttpKernel/Exception/HttpException .
Otra forma debería ser hacer algo como 1/0;
, pero no lo he probado.
Tu puedes hacer:
throw new Symfony/Component/HttpKernel/Exception/HttpException(500, "Some description");
Una buena manera de hacerlo puede ser:
use Symfony/Component/HttpKernel/Exception/HttpException;
throw new HttpException(/Symfony/Component/HttpFoundation/Response::HTTP_INTERNAL_SERVER_ERROR, ''Testing the 500 error'');