跳过作曲家 PHP 需求

我们使用的是 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 的建设失败了。

有没有可能跳过这个要求?也许可以通过向 comper.json 添加一个选项?或者是 poser.phar 调用的参数?

167451 次浏览

如果需要特定版本的 PHP,那么它不会在较低版本的 PHP 中运行。当您绕过 PHP 需求时,仍然会收到错误。

顺便说一句,PHP 5.3不再维护,我强烈建议更新 PHPCI 服务器。

我找到了一个选择:

composer install --ignore-platform-reqs

忽略平台需求(php 和 ext 包)。


编辑: 您可以使用这个来跳过平台检查,但是 Composer 会根据给定的 PHP 版本来获取包。因此,当您需要编写器在依赖性解析期间也模拟 PHP 版本时,您可以(也应该)这样做在你的作曲家 json 中使用:

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

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

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

composer COMMAND --ignore-platform-reqs

这将绕过 PHP 版本规范。

请注意,软件可能工作或不: PHP 版本规范是因为在代码的某个地方需要至少指定的 PHP 版本,所以如果你使用该代码的软件将破坏。