跳过作曲家PHP的要求

时间:2014-10-02 16:20:46

标签: php composer-php

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

对于一个项目,我们使用composer添加了Facebook PHP SDK。它需要PHP 5.4。 Composer由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调用的参数?

3 个答案:

答案 0 :(得分:213)

我找到了选项:

composer install --ignore-platform-reqs

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


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

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

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

答案 1 :(得分:0)

您可以告诉作曲家使用参数“ --ignore-platform-reqs”绕过php版本检查:

composer COMMAND --ignore-platform-reqs

这将绕过php版本规范。

请注意该软件可能无法正常工作:那里有php版本规范,因为至少在代码的某个地方需要至少指定的php版本,因此,如果使用该代码,该软件将崩溃。

答案 2 :(得分:-2)

如果有任何需要特定版本的PHP,它将无法在较低版本的PHP中运行。在绕过PHP要求时,您仍然可以正确地收到错误。

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