在Symfony 2中将应用程序移至生产模式

时间:2012-02-13 10:13:51

标签: deployment symfony production-environment

有人可以帮助我将Symfony 2应用程序转移到生产模式吗?

目前,应用程序在/app_dev.php中正常运行。

我正在使用Google搜索,但我找不到在Symfony 2中部署的明确指南。

5 个答案:

答案 0 :(得分:56)

要考虑更多的事情:

php app/console cache:clear --env=prod --no-debug
php app/console assets:install web_directory
php app/console assetic:dump web_directory

您可能还会遇到缓存目录的权限问题。在切换到生产模式之前,我实际上首先要确保服务器上的所有内容都在开发模式下工作。如果你得到的只是生产模式下的空白屏幕,那么将debug设置为true。当然知道如何检查错误日志。

答案 1 :(得分:11)

将Symfony2移至生产工具意味着:

通过以下方式访问该应用程序:app.php /

由于使用app.php时AppKernel.php中存在条件,因此不会加载测试开发包。如果要卸载仅应在dev中使用的bundle,可以将它们放入本节(在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();
        }

您还需要通过激活xdebug并添加eacclerator(或其他一些用于缓存性能)来进行一些服务器调整。

我还建议重命名app_dev.php以取消激活开发模式

答案 2 :(得分:0)

基本配置信息可在此处找到: http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html

许多人绊倒的一个重要地点是资产管理。通过app.dev前端控制器访问应用程序时(请参阅第一个链接),可能需要先转储资产。在这里阅读所有相关内容: http://symfony.com/doc/current/cookbook/assetic/asset_management.html#cookbook-assetic-dumping

答案 3 :(得分:0)

Symfony CookBook现在有一些recipes about deployment覆盖:

答案 4 :(得分:0)