我们正在使用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调用的参数?
答案 0 :(得分:213)
我找到了选项:
composer install --ignore-platform-reqs
忽略平台要求(php& ext-packages)。
编辑:您可以跳过平台检查,但Composer将根据给定的PHP版本获取包。因此,当您需要在依赖性解析期间使用composer来模拟PHP版本时,您可以(并且应该!)在您的composer.json中使用它:
{
"config": {
"platform": {
"php": "5.6.6"
}
}
}
答案 1 :(得分:0)
您可以告诉作曲家使用参数“ --ignore-platform-reqs
”绕过php版本检查:
composer COMMAND --ignore-platform-reqs
这将绕过php版本规范。
请注意该软件可能无法正常工作:那里有php版本规范,因为至少在代码的某个地方需要至少指定的php版本,因此,如果使用该代码,该软件将崩溃。
答案 2 :(得分:-2)
如果有任何需要特定版本的PHP,它将无法在较低版本的PHP中运行。在绕过PHP要求时,您仍然可以正确地收到错误。
顺便说一下,不再维护PHP 5.3,我强烈建议更新PHPCI服务器。