2011-07-12 57 views
2

我已經從Symfony的一個更高版本中提交了一箇舊項目,並試圖將它與Linux上的Symfony 1.4一起使用。我不確定它最初創建的是哪個版本的Symfony。在較新的安裝中使用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創建的項目和更高版本的項目?

+1

我會先將舊項目設置爲clean,然後在項目根目錄下運行「symfony -V」以查明它的創建版本。舊項目應該包含它需要運行的所有內容,而不管它的版本。各種1.x版本之間存在差異。如果過時了,不可能像將一些文件複製到新項目一樣簡單。 – Tom

+0

該項目沒有自己的Symfony副本,似乎依賴於它的外部安裝。運行'symfony -V'會拋出一個錯誤,說它找不到sfCoreAutoload.class.php。 – Druckles

+0

@Druckles ...聽起來像是你頭痛。我只使用1.4,所以也許有人熟悉舊版本可以提供幫助。 Symfony論壇上懸掛着一些人。 – Tom

回答

3

對於任何可能遇到類似問題的人,請嘗試從/path/to/project/apps/application/config/filters.yml中刪除行common: ~。這解決了我的問題。

這個線程還幫助:http://oldforum.symfony-project.org/index.php/m/62891/

任何進一步的問題可能是在你的.yml配置文件onoff引起的。而Symfony 1.4似乎使用truefalse

1

取決於項目的年齡,它很可能是用舊版本創建的,並且不適用於最新版本。 1.4通過刪除許多棄用的東西,主要是1.0時代,打破了向後兼容性。

如果我是你,我會先用1.0來試試,然後按照1.3的方式工作(這是1.4包括棄用的東西)。另外,不要忘了在開始時檢查config/ProjectConfiguration.class.php中的require以查看它嘗試從哪裏加載symfony。

如果你只是需要維護該項目,我不打擾升級它從舊版本到1.4。即使它需要升級,也可以等到Symfony2在這裏 - 這可能是另一個月左右。

相關問題