如何将我的Symfony2项目部署到ftp中

Har*_*nzo 3 deployment ftp bundles symfony

我在互联网上搜索并尝试了几个教程,但没有一个对我有用.我接下来的教程来自Symfony2文档,Dator,Hpatoio和Capifony.

有人可以向我解释如何将我的项目导出到我的服务器中.例如www.domain.com/about.这对我很有帮助.

我有一个捆绑包,并在捆绑包内设置所有控制器和树枝模板等.

如果您有任何问题,请询问.

提前致谢.

fer*_*tor 8

首先应该注意的是,通过FTP部署Symfony2应用程序真的很糟糕.它使一些步骤更加困难(甚至不可能),应该避免.如果您有对机器的SSH访问权限,请查看下面的替代部署方法列表.

制备

通过FTP进行部署时,有一些事情无法影响.如果您无法控制以下内容或无法正确配置它们,则遗憾的是您无法部署到共享主机.

  • PHP配置.如果设置设置不正确且您无法更改它们,则不幸丢失.
  • 您可能需要的任何PHP模块.与上述相同.如果您无法安装任何其他模块,那么您就没有机会.(这个例子就是任何Symfony <2.6php5-intl模块)
  • 更正文件夹权限.特别适合app/cacheapp/logs.查看文档以了解要求.
  • Web服务器配置.Symfony需要一个正确配置的Web服务器(在大多数情况下可能是apache或nginx)才能正常运行.如果你不能影响配置,这也是不好的.您可能希望尝试在文件中定义重写规则,如此处所述..htaccess

部署

以下是首次准备部署应用程序时需要遵循的步骤:

  • 更新/安装供应商.使用composer install(或composer update)安装您在项目中使用的任何第三方软件包或库,因为您以后无法直接在服务器上安装它们.
  • 如果您使用Assetic进行资产管理,请确保使用该php app/console assetic:dump --env=prod命令安装这些资产.
  • 转储任何其他资产,如:php app/console assets:install --env=prod.(此步骤可能不是必需的,但您需要确保资产没有符号链接.如果您使用的是symfony> = 2.6,请查看此博客文章)
  • 清除生产缓存: php app/console cache:clear --env=prod
  • 确保编辑您的内容parameters.yml以满足生产服务器的需要.
  • 如果在开发期间更改了数据库模式,还要在生产数据库上更新数据库模式.

现在你应该好好去.将整个文件夹复制到您的服务器上并试用它.

为未来

如果您第二次部署,请确保不覆盖任何用户数据(例如上传的图像).您还需要通过ftp清除缓存.为此,清空app/cache目录.

替代部署方法

如果您有更多访问权限的服务器,请查看其中任何一个.它们可能比旧的纯FTP更适合您的需求.也许他们给你足够的理由来改变一个更合适的服务器.Capifony可能是Symfony2应用程序的最佳部署工具之一.部署将像cap deploy在本地计算机上运行一样简单.剩下的就是魔术;)简单的git也可用于部署.上面的许多步骤仍然适用,但是你拥有git给你的所有优点,就像每次部署时都不会复制所有内容.可以在文档中找到所有工具的非常好的列表.