如何将Symfony从1.2.4升级到1.2.7

时间:2009-05-02 15:26:18

标签: symfony1

我有一个Symfony 1.2.4应用程序,从Symfony sandbox application获取和修改,没有努力确保Symfony引擎与我的应用程序分离,所以现在Symfony引擎只是一个文件夹在我的申请中。

从Symfony 1.2.4升级到1.2.7的最佳方法是什么?有什么想法吗?

5 个答案:

答案 0 :(得分:1)

我找到了解决方案。

首先,必须从沙盒应用程序移动Symfony框架,然后使用PEAR将detailed in this post升级为Symfony框架。

答案 1 :(得分:1)

最简单的方法:

下载新的沙盒版symfony,从该存档中获取数据和lib fonders并将其从项目文件夹中删除(覆盖现有数据和lib文件夹)。之后,清理项目缓存并重建模型(以及表单和过滤器)。

php symfony clear:cache
php symfony propel:build-all

或者如果使用学说:

php symfony clear:cache
php symfony doctrine:build-all

这将始终适用于次要修订(1.2.3至1.2.9或1.1.2至1.1.5)。对于1.0到1.1或1.2或1.3的升级,您将有其他步骤(您在文档中有详细的说明)

答案 2 :(得分:0)

您还应该考虑在项目的lib / vendor文件夹中使用SVN和/或安装symfony。这将使symfony项目依赖,这对于同一服务器上的多个symfony项目非常有用。

答案 3 :(得分:0)

Symfony 1.2是稳定版本,它是什么意思?

  

稳定:symfony团队承诺修复错误和安全性   稳定发布的问题直到   维护结束。平均来说,我们   每个月发布一个错误修复版本。   这些版本从不包含新版本   功能,甚至是小功能,但仅限于此   错误修复。所以,他们总是如此   向后兼容,简单安全   升级到

就像Oncle Tom所说,如果你正在研究多个Symfony项目,如果他们共享同一个Symfony库,将更容易更新它们。

从SVN存储库中签出Symfony lib:

daemon@dev:/home/dev/symfony$ svn co http://svn.symfony-project.com/branches/1.2

编辑您的config / ProjectConfiguration.class.php:     

#require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';
require_once '/home/dev/symfony/1.2/lib/autoload/sfCoreAutoload.class.php'; // use the shared lib instead
sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    // for compatibility / remove and enable only the plugins you want
    $this->enableAllPluginsExcept(array('sfPropelPlugin', 'sfCompat10Plugin'));
  }
}

然后你就完成了。您现在正在使用共享且易于更新的Symfony库,并且您已更新了项目。

开始新项目:

  

daemon @ dev:/ home / dev / sfProjects $ php   /home/dev/symfony/1.2/data/bin/symfony   生成:项目项目

答案 4 :(得分:0)

这是一个老问题,但我想我会添加一个想法。以前最好的做法是在服务器上为symfony设置一个位置,因为可以升级它并神奇地升级单个服务器上的所有站点。在实践中,它并不那么容易。首先,当将站点从一个服务器移动到另一个服务器时,可能需要修复符号链接或库文件夹的绝对路径。另外,正如@deresh所说,人们需要清除升级之间的缓存 - 这需要花费多个项目的时间,并且可能会将它们关闭直到完成所有项目。

总而言之,这些天我将symfony 1.x嵌入到任何symfony项目中,而不是引用外部位置。它将symfony的“已知良好版本”引入版本控制,使其更易于部署,升级只是在开发副本中删除lib/symfonydata/symfony,并将其替换为{来自新tarball的{1}}和lib个文件夹。这些应该被提交,然后如果你在服务器上使用Subversion,项目可以很容易地部署在服务器上 - data和`./symfony cc'。

通常,您不需要重建模型,除非您知道您的ORM版本在symfony版本之间发生了变化。