3

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

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

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

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

提前致谢。

4

2 回答 2

8

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

准备

当您通过FTP部署时,有些事情是您无法影响的。如果您无法控制以下内容或无法正确配置它们,那么很遗憾您没有机会部署到共享主机。

  • PHP 配置。如果设置没有正确设置并且您没有机会更改它们,那么您很遗憾会迷路。
  • 您可能需要的任何 PHP 模块。和上面一样。如果你不能安装任何你需要的额外模块,你就没有机会了。(一个例子是任何Symfony <2.6php5-intl的模块)
  • 正确的文件夹权限。特别是对于app/cacheapp/logs检查文档的要求。
  • 网络服务器配置。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 给你的所有优势,比如每次部署时都不需要复制所有内容。可以在文档中找到所有工具的非常好的列表。

于 2014-10-09T15:27:22.190 回答
0

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

  1. 假设您想使用 ftp 上传它(因为您将问题标记为此类),您将需要一个 FTP 客户端(请参阅此处获取一些建议)。

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

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

更具体的指导将取决于您的服务器配置和您选择的 FTP 客户端(它应该带有自己的手册)

于 2014-10-07T22:09:04.823 回答