Déplacement de l'application en mode production dans Symfony 2
Quelqu'un peut-il m'aider à déplacer mon application Symfony 2 en mode production?
Actuellement, l'application s'exécute correctement dans /app_dev.php
.
Je suis en train de googler, mais je ne trouve pas de guide précis pour le déploiement dans Symfony 2.
5 réponses
Quelques autres choses à considérer:
php app/console cache:clear --env=prod --no-debug
php app/console assets:install web_directory
php app/console assetic:dump web_directory
Vous pouvez également rencontrer des problèmes d'autorisation avec le répertoire cache. Je voudrais d'abord m'assurer que tout fonctionne en mode développement sur le serveur avant de passer en mode production. Et si tout ce que vous obtenez est des écrans vides en mode production, définissez debug sur true. Et bien sûr savoir comment vérifier vos journaux d'erreur.
Déplacer Symfony2 vers la production signifie:
Accédez à l'application via: app.php /
Les bundles de développement de Test ne seront pas chargés car il existe une condition dans L'AppKernel.php lorsque vous utilisez l'application.php. Si vous voulez décharger bundle qui devrait être utilisé seulement en dev, vous pouvez les placer dans la présente section (en appKernel.php)
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Sf2gen\Bundle\GeneratorBundle\Sf2genGeneratorBundle();
}
Vous devez également effectuer un réglage du serveur en désactivant xdebug et en ajoutant eacclerator (ou quelque chose d'autre pour les performances de mise en cache)
Je conseille aussi de renommer app_dev.php pour désactiver le mode dev
Les informations de configuration de base peuvent être trouvées ici: http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html
Un endroit important où beaucoup de gens trébuchent est la gestion d'actifs. Lors de l'accès à l'application via l'app.dev contrôleur frontal (voir poing lien), il peut être nécessaire de vider les actifs d'abord. Lisez tout à ce sujet ici: http://symfony.com/doc/current/cookbook/assetic/asset_management.html#cookbook-assetic-dumping
Le Livre de recettes Symfony a maintenant quelques recettes sur le déploiement couvrant:
- serveur web standard basé sur linux: Comment déployer une Application Symfony2,
- Microsoft Azure Website Cloud: déploiement sur Microsoft Azure Website Cloud ,
- Heroku Cloud: déploiement sur Heroku Cloud.
Symfony2 Comment maîtriser et créer de nouveaux environnements http://symfony.com/doc/current/cookbook/configuration/environments.html