跳过作曲家 PHP 要求

2022-08-30 06:39:08

我们正在使用PHPCI和作曲家。运行 PHPCI 的服务器位于 PHP 5.3 上。

对于一个项目,我们使用作曲家添加了Facebook PHP SDK。它需要 PHP 5.4。作曲家由PHPCI触发并被执行。但是因为CI服务器刚刚得到PHP 5.3编辑器失败,并显示错误消息:

facebook/php-sdk-v4 4.0.9 requires php >=5.4.0 -> no matching package found.

当然,这让我在PHPCI中的构建失败了。

是否有可能跳过此要求?也许通过向 composer.json 添加一个选项?还是 composer.phar 调用的参数?


答案 1

我找到了以下选项:

composer install --ignore-platform-reqs

忽略平台要求(php和ext-packages)。


编辑:您可以使用此功能跳过平台检查,但Composer将根据给定的PHP版本获取软件包。因此,当您需要 composer 在 depedency 解析期间模拟 PHP 版本时,您可以(并且应该!)在 composer.json 中使用它:

{
    "config": {
       "platform": {
           "php": "5.6.6"
       }
    }
}

https://getcomposer.org/doc/06-config.md#platform


答案 2

对于许多命令,您可以告诉 composer 绕过 php 版本检查,参数为 “”:--ignore-platform-reqs

composer COMMAND --ignore-platform-reqs

这将绕过php版本规范。

请注意,该软件可能工作或不工作:php版本规范存在,因为代码中的某个地方至少需要指定的php版本,因此,如果您使用该代码,软件将中断。


推荐