我已经从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创建的项目与之后的版本?
答案 0 :(得分:3)
对于可能遇到类似问题的任何人,请尝试从/path/to/project/apps/application/config/filters.yml删除行common: ~
。这解决了我的问题。
这个帖子也有帮助:http://oldforum.symfony-project.org/index.php/m/62891/
.yml配置文件中的on
和off
可能会导致任何其他问题。 Symfony 1.4似乎使用true
和false
代替。
答案 1 :(得分:1)
根据项目的年龄,它很可能是使用旧版本创建的,并且不适用于最新版本。 1.4通过删除许多弃用的东西来破坏向后兼容性,主要来自1.0时代。
如果我是你,我会首先尝试使用1.0,然后按照我的方式进行1.3(包括弃用的东西,这是1.4)。另外,不要忘记在开头检查config / ProjectConfiguration.class.php以查看它从哪里尝试加载symfony。
如果你只需要维护项目,我就不会把它从旧版本升级到1.4。即使它需要升级,它也可以等到Symfony2在这里 - 这可能是另一个月左右。