上线的步骤 - Symfony2

时间:2014-03-25 12:54:36

标签: php symfony web-deployment

我已经在我的网站上工作了一段时间,现在我已经准备好推动这个全新的项目了。

我已经阅读了link on Symfony2关于应该做什么的内容,但我仍然认为它缺少一些细节。例如,它没有谈到我为使网站在现场工作而运行的一些命令。

目前,我希望这样做才能让它在现场工作:

php composer.phar install --no-dev --optimize-autoloader --no-scripts
rm -rf app/cache/* 
php app/console assetic:dump --env=prod --no-debug 
php app/console assets:install web --symlink --env=prod

还有什么需要做的,例如,我不希望现场能够执行我的灯具,我也不希望任何用户能够访问www.mysite.com/ app_dev.php

3 个答案:

答案 0 :(得分:1)

查看How to deploy a Symfony2 application

请参阅上面的链接。部署Symfony2应用程序时采取的典型步骤包括:

  1. 将修改后的代码上传到实时服务器;
  2. 更新您的供应商依赖关系(通常通过Composer完成,可以在上传之前完成);
  3. 运行数据库迁移或类似任务以更新任何已更改的数据结构;
  4. 清理(也许更重要的是,预热)缓存。
  5. 常见的部署后任务

    1. 配置app / config / parameters.yml文件
    2. 更新供应商

      $ php composer.phar install --no-dev --optimize-autoloader

    3. 清除Symfony缓存

      $ php app / console cache:clear --env = prod --no-debug

    4. 转储您的资产资产

      $ php app / console assetic:dump --env = prod --no-debug

    5. 其他事情!

    6. 根据您的设置,您可能还需要做很多其他事情:

      • 运行任何数据库迁移
      • 清除您的APC缓存
      • 运行资产:安装(已在composer.phar安装中处理)
      • 添加/编辑CRON作业
      • 将资产推送到CDN
      • ...

答案 1 :(得分:0)

看看capifony(https://github.com/everzet/capifony)。不幸的是,网站(http://capifony.org)目前正在关闭..

答案 2 :(得分:0)

对我来说,最好的解决方案是让您的项目安装在像git或svn这样的版本系统中,当然没有供应商的目的......

这样,您只需要这样做:

1) git clone your project into the prod dir

2) php composer.phar install to install your vendors

2b) create the mysql user with correct login and password according to your parameters.yml

 3) php app/console doctrine:database:create to create your database with the credentials you set up in mysql

 4) php app/console doctrine:schema:update --force to perform the database tables creation
 5) testing the project :)

如果您没有使用版本控制系统,只需使用没有供应商目录的ftp软件将项目上传到您的服务器(将在步骤2中提供),然后执行第3步,第4步和第5步!

您现在应该可以通过您的域名网址与您联系。