【问题标题】:Deploying symfony 1.4 site on the production server在生产服务器上部署 symfony 1.4 站点
【发布时间】:2012-03-21 00:04:57
【问题描述】:
我正在关注第 22 天的 Symfony Jobeet 教程,确切地说是您将网站部署到服务器的位置。特别是他们声明他们不会在服务器上安装 symfony 并直接从 symfony 站点本身下载文件。不知道这意味着什么,我觉得这句话有点模棱两可:
供参考:
http://www.symfony-project.org/jobeet/1_4/Doctrine/en/22
另外,你们是如何在生产服务器上设置 symfony [不是项目] 的?自从在以前的服务器域上托管 symfony 后,您推荐的任何其他链接都没有成功,重复出现 500 个内部服务器错误
谢谢!
【问题讨论】:
标签:
deployment
symfony1
symfony-1.4
production-environment
【解决方案1】:
我通过 github.com 将 symfony 源文件下载到一个单独的版本控制 repo 中,名为“vendor”。然后我符号链接我希望使用的 symfony 版本,从我的 'app' repo(与供应商分开的 repo)。这让我可以轻松地切换到另一个 symfony 版本,这样我就可以发布 symfony 文件而无需发布我的实际应用程序文件。
类似:
# Path to your files
$ -> cd /home/src/web/app/projectname/current
$ -> ls -la
framework -> vendor/framework/symfony/1.4.16
vendor -> /home/src/web/vendor/current/
然后在您的 ProjectConfiguration.class.php 文件中,您只需将自动加载器指向您刚刚创建的符号链接:
<?php
require_once realpath(dirname(__FILE__)) . '/../../framework/lib/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();
现在,如果发布了新版本的 symfony,您可以下载源文件,将它们添加到您的供应商 repo,然后进入您的应用 repo 并更改符号链接以指向新版本。当您推送到生产环境时,您将推送供应商仓库和应用程序仓库,或者您可以单独推送供应商仓库。
如果您不想涉及版本控制,您可以手动将 symfony 源文件下载到生产服务器并仍然遵循此设置。另外,我通常维护 3 个版本的 symfony,以防我需要切换回旧版本。