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

时间:2014-10-07 21:55:33

标签: symfony deployment ftp bundles

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

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

我有一个捆绑包,在捆绑包里面设置了所有控制器和树枝模板等。

如果您有任何疑问,请询问。

提前致谢。

2 个答案:

答案 0 :(得分:8)

首先应该注意的是,在 FTP 上部署 Symfony2应用程序非常糟糕。它使一些步骤更加困难(甚至不可能),应该避免。 如果您拥有对该计算机的SSH访问权限,请查看我在下面的替代部署方法列表

制备

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

  • PHP配置。如果设置设置不正确且您无法更改设置,则很遗憾会丢失。
  • 您可能需要的任何PHP模块。与上述相同。如果您无法安装任何其他模块,那么您就没有机会。 (例如any Symfony <2.6} {/ li>的php5-intl模块
  • 更正文件夹权限。特别是app/cacheapp/logsCheck the docs了解要求。
  • Web服务器配置。 Symfony需要一个正确配置的Web服务器(在大多数情况下可能是apache或nginx)才能正常运行。如果你不能影响配置,这也是不好的。您可能希望尝试在.htaccess文件as described here中定义重写规则

部署

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

  • 更新/安装供应商。使用composer install(或composer update)安装您在项目中使用的任何第三方软件包或库,因为您以后无法直接在服务器上安装它们。
  • 如果您使用Assetic for your asset management,请确保使用php app/console assetic:dump --env=prod命令安装这些内容。
  • 转储所有其他资产:php app/console assets:install --env=prod。 (此步骤可能不是必需的,但您需要确保资产不是符号链接Check this blog post if you are using symfony >=2.6
  • 清除生产缓存:php app/console cache:clear --env=prod
  • 确保编辑parameters.yml以满足生产服务器的需求。
  • 如果您在开发期间更改了数据库架构,也请更新生产数据库上的数据库架构。

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

未来

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

替代部署方法

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

答案 1 :(得分:0)

如果您告诉我们有关您的服务器设置的更多信息,可能会有所帮助,但这是一个相当通用的指南:

  1. 假设你想用ftp上传它(因为你这样标记了问题),你需要一个FTP 客户(请参阅here了解一些建议)。

  2. 使用FTP客户端,您将需要连接到您的服务器 (主机名:yoursite.com)使用您的凭据(如果它是安全的 服务器)。

  3. 从那里,您应该能够从本地上传任何文件 机器到服务器。

  4. 更具体的说明取决于您的服务器配置和您选择的FTP客户端(它应附带自己的手册)