2014-08-31 128 views
0

我做了更新軟件在生產服務器之一,並得到了錯誤:如何省略作曲家對PHP依賴關係的檢查?

Installation request for symfony/http-foundation v2.5.0 -> satisfiable by symfony/http-foundation[v2.5.0]. 
- symfony/http-foundation v2.5.0 requires php >=5.3.3 -> no matching package found. 

這是正確的,因爲該服務器上我有PHP 5.3.1。不幸的是,我沒有權利更新它。我可以省略這個PHP版本的檢查嗎?我不知道如何,但在另一臺服務器(也是PHP 5.3.1),錯誤不會出現。

回答

0

如果PHP版本不重要,Symfony軟件包會將PHP要求定義爲「5.3.0」而不是「5.3.3」。與之前的5.3版本相比,有severe backwards incompatible change in 5.3.3

你準備好處理這個問題嗎?你想對這個問題採取一種解決方法嗎?您可以克隆原始項目,修復與該更改相關的問題,調整該項目的composer.json,並將您的克隆的回購添加到要安裝的應用程序。完成。

您也可以從該Symfony包中提取所有文件,將其提交到該應用程序中,將這些類的自動加載器定義添加到應用程序composer.json,並添加"replace":{"symfony/http-foundation":"2.5.0"}以滿足任何其他依賴項。

要做的最好的事情:向服務器管理員解釋PHP版本太舊而無法運行該軟件,並且應該從2009年11月起停止使用該PHP版本,並更新所有嚴重安全補丁5年維護(最後的PHP版本是5.3.29,2014-08-14發佈)。請注意,升級到5.4或5.5也會爲您提供免費的性能改進。

+0

我已經讓服務器管理員將PHP升級到5.4,ufff。但是我做了一些小小的研究,發現在5.3.10的服務器上一切正常,但是在那些5.3.2的地方我發現了這個錯誤。任何想法爲什麼? – tommy 2014-09-02 06:47:33

+0

5.3.2仍然少於所需的PHP 5.3.3版本 - 這就是爲什麼。 – Sven 2014-09-02 19:47:03

+0

不要緊,我剛剛意識到5.3.1!= 5.3.10,該死的......這麼簡單。 – tommy 2014-09-04 06:05:54