57 votes

Symfony2 - comment passer de « dev » à la « prod » ?

J'ai téléchargé symfony2 et je suis capable de l'exécuter à partir de app_dev.php.

Mais quand j'ai commencer à partir de app.php puis-je obtenir une page d'erreur 404.

app.php si est évidemment là et il est exécuté.

L'erreur se produit apparemment quelque part après la dernière ligne de code dans app.php:

$kernel->handle(Request::createFromGlobals())->send();

Je suppose qu'il s'agit d'un interrupteur quelque part j'ai configurer.

EDIT:

Comme suggéré par GeLo j'ai ajouté l'acheminement de la production de la version app/config/routing.yml.

_welcome:
    resource: "@AcmeDemoBundle/Resources/config/routing.yml"
    prefix:     /

J'ai créé src/Acme/DemoBundle/Resources/config/routing.yml avec comme contenu:

bla:
    pattern: /
    defaults: {_controller:AcmeDemoBundle:Demo:index}

En DemoController::indexAction() , j'ai placé un die(__FILE__);

rien; je reçois toujours 404 de app.php !?

EDIT concernant la réponse:

./app/console --env=prod cache:clear

a fait le tour. l'esprit de l'env-paramètre.

40voto

egeloen Points 2708

Par défaut, Symfony 2 est livré avec un bundle de démo qui est seulement accessible à partir de l’environnement de développement.

L’environnement de production ne contient pas n’importe quelle route, donc il est normal que vous obtenez une page de 404 erreur.

EDIT :

Êtes-vous sûr que votre forfait est activer dans le AppKernel.php ?

Dans l’affirmative, vider le cache avec la commande suivante :``

Vérifier si l’itinéraire est activer avec la commande suivante :``

8voto

topaz1008 Points 148

Changer le propriétaire à la place.
sudo chown www-data:www-data -R app/cache
sudo chown www-data:www-data -R app/logs

C’est laisser le navigateur posséder les dossiers. la syntaxe est la suivante:
chown <USER>:<GROUP> <SWITCH> <DIRECTORY>

1voto

hackintos Points 21

Je l'ai corrigé en laissant simplement le compte du serveur Web (c'est-à-dire que «maître chef» est propriétaire du répertoire / Symfony2 / app / cache / prod. La commande ci-dessous:

 $sudo chown master-chef -R /var/www/Symfony2/app/cache/prod
 

-11voto

Yuri Points 25

Votre problème est lié au cache de Symfony2. J'ai eu les mêmes problèmes. Essaye ça:

  • sudo php app/console cache:clear --env=prod --no-debug
  • sudo chmod 777 -R ../sf2/ (sf2) est le répertoire principal de mon projet

Vous avez terminé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X