我正在按照第22天的Symfony Jobeet教程准确地将网站部署到服务器。特别是他们声明他们不会在服务器上安装symfony并直接从symfony网站本身下载文件。不确定这意味着什么,这句话对我来说有点模棱两可:
供参考:
http://www.symfony-project.org/jobeet/1_4/Doctrine/en/22
或者,您是如何在生产服务器上设置symfony [而不是项目]的呢?自从在以前的服务器域上托管symfony以来,您建议的任何其他链接都不会因重复的500个内部服务器错误而成功
谢谢!
答案 0 :(得分:2)
我将symfony源文件通过名为“vendor”的github.com下载到一个单独的版本控制的repo中。然后我从我的'app'仓库(来自供应商的单独回购)中对我想要使用的symfony版本进行符号链接。这使我可以轻松切换到另一个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,您可以下载源文件,将它们添加到您的供应商仓库,然后进入您的应用仓库并更改符号链接以指向新版本。当您推向生产时,您将推送供应商仓库和应用程序仓库,或者您可以单独推送供应商仓库。
如果您不想涉及版本控制,可以手动将symfony源文件下载到生产服务器,并仍然遵循此设置。另外,我通常维护3个版本的symfony,以防我需要切换回旧版本。