I'm trying to change my environnement from dev to prod. When i'm trying to go on an invalid route with prod env, i get the dev error page " NotFoundHttpException:" , instead of the prod error page like "e-mail us..." .
There is my app.php :
use Symfony\Component\ClassLoader\ApcClassLoader;
use Symfony\Component\HttpFoundation\Request;
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
// Use APC for autoloading to improve performance.
// Change 'sf2' to a unique prefix in order to prevent cache key conflicts
// with other applications also using APC.
/*
$apcLoader = new ApcClassLoader('sf2', $loader);
$loader->unregister();
$apcLoader->register(true);*/
require_once __DIR__.'/../app/AppKernel.php';
require_once __DIR__.'/../app/AppCache.php';
$kernel = new AppKernel('prod', true);
$kernel->loadClassCache();
//$kernel = new AppCache($kernel);
// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
//Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
Any ideas ?
Thanks, Adrian
Your app.php
file includes new AppKernel('prod', true)
. The second argument of the constructor determines whether it's in debug mode or not. The first argument only determines the name, which can be used when loading environment-specific config files.
As long as debug is enabled, the error pages show the verbose version with lots of information helping you to debug your application. In production, you never want debug to be enabled and you want to set it to false
(this is also the default in the Standard Edition):
// ...
$kernel = new AppKernel('prod', false);
// ...