有人可以帮助我将Symfony 2应用程序转移到生产模式吗?
目前,应用程序在/app_dev.php
中正常运行。
我正在使用Google搜索,但我找不到在Symfony 2中部署的明确指南。
答案 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)
Symfony2的 如何掌握和创建新环境 http://symfony.com/doc/current/cookbook/configuration/environments.html