我在其中一个生产服务器上更新了软件并出现错误:
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 :(得分:0)
如果PHP版本不重要,Symfony软件包会将PHP要求定义为" 5.3.0"而不是" 5.3.3"。
与之前的5.3版本相比,有severe backwards incompatible change in 5.3.3。
你准备好处理这件事吗?是否要为此问题应用解决方法?您可以克隆原始项目,修复与该更改相关的问题,调整该项目的composer.json
,并将克隆的repo添加到要安装的应用程序中。完成。
您还可以从该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也可以免费提供性能改进。