【问题标题】:Using Symfony Project with Newer Installation在较新的安装中使用 Symfony 项目
【发布时间】:2011-07-12 13:36:12
【问题描述】:

我收到了一个来自更高版本 Symfony 的旧项目,并试图在 Linux 上将它与 Symfony 1.4 一起使用。我不确定它最初是用哪个版本的 Symfony 创建的。

我将 Symfony 1.4.11 的副本安装到项目中,如教程中所述,here。该项目现在抛出以下错误:

500 | Internal Server Error | sfParseException
Configuration file "/path/to/project/lib/vendor/symfony/lib/config/config/filters.yml" specifies category "common" with missing class key.

我找到的最接近的是trac ticket,它建议我升级项目。我在其中一个模板中运行了symfony project:validate 命令,该命令出现了input_in_place_editor_tag,这是一种显然已弃用的方法。我找不到关于 1.4 的这种方法的任何信息,或者我应该用什么来代替它。

是否有任何已知的解决此问题的方法?是否可以将使用以前版本的 Symfony 创建的项目与更高版本一起使用?

【问题讨论】:

  • 我会首先清理旧项目并在项目根目录中运行“symfony -V”以找出它是在哪个版本中创建的。旧项目应该包含它需要运行的所有内容,无论它的版本。各种 1.x 版本之间存在差异。如果它是旧的,则不太可能只是将一些文件复制到新项目中那么简单。
  • 该项目没有自己的 Symfony 副本,并且似乎依赖于它外部的安装。运行symfony -V会报错,说找不到sfCoreAutoload.class.php。
  • @Druckles... 听起来你有点头疼。我只使用过 1.4,所以也许熟悉旧版本的人可以提供帮助。 Symfony 论坛里有几个这样的人。

标签: php symfony1 symfony-1.4


【解决方案1】:

对于可能遇到类似问题的任何人,请尝试从 /path/to/project/apps/application/config/filters.yml 中删除行 common: ~。这解决了我的问题。

这个帖子也有帮助:http://oldforum.symfony-project.org/index.php/m/62891/

.yml 配置文件中的onoff 可能会导致任何进一步的问题。 Symfony 1.4 似乎改用了truefalse

【讨论】:

    【解决方案2】:

    根据项目的年龄,很可能它是使用旧版本创建的,并且不适用于最新版本。 1.4 删除了许多已弃用的东西,主要来自 1.0 时代,从而破坏了向后兼容性。

    如果我是你,我会先尝试 1.0,然后逐步升级到 1.3(即 1.4,包括已弃用的内容)。另外不要忘记在开始时检查 config/ProjectConfiguration.class.php 的 require 以查看它尝试从哪里加载 symfony。

    如果您只是需要维护项目,我不会费心将它从旧版本升级到 1.4。即使它需要升级,它也可以等到 Symfony2 出现 - 这可能是另一个月左右。

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 2014-05-28
      • 2016-01-10
      • 1970-01-01
      相关资源
      最近更新 更多