【问题标题】:How to omit checking of PHP dependency for composer?如何省略对作曲家的 PHP 依赖项的检查?
【发布时间】:2014-10-24 21:28:57
【问题描述】:

我在其中一台生产服务器中更新了软件并出现错误:

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 也是如此)错误不会出现。

【问题讨论】:

    标签: php dependencies composer-php


    【解决方案1】:

    如果 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 还可以免费提升性能。

    【讨论】:

    • 我已经让一个服务器管理员将 PHP 升级到 5.4,呵呵。但是我做了一点研究,发现在 5.3.10 的服务器上一切正常,但在 5.3.2 的服务器上我得到了那个错误。知道为什么吗?
    • 5.3.2 仍然低于所需的 PHP 版本 5.3.3 - 这就是原因。
    • 没关系,我刚刚意识到 5.3.1 != 5.3.10,该死的......如此简单。
    猜你喜欢
    • 2013-04-20
    • 2014-03-10
    • 2015-12-26
    • 2021-10-22
    • 2016-09-12
    • 2016-09-23
    • 2021-11-16
    • 2018-03-06
    相关资源
    最近更新 更多