我们使用的是PHPCI和composer,运行PHPCI的服务器是PHP5.3。
对于一个项目,我们使用composer添加了Facebook PHP SDK。它需要PHP 5.4。Composer由PHPCI触发并执行。但由于CI服务器刚刚获得PHP 5.3,composer失败并显示错误消息:
facebook/php-sdk-v4 4.0.9 requires php >=5.4.0 -> no matching package found.
当然,这让我在PHPCI中的构建失败。
有没有可能跳过这个要求?也许可以在composer.json中添加一个选项?或者在composer.phar调用中添加一个参数?
3条答案
按热度按时间gywdnpxw1#
我找到了一个选择:
忽略平台需求(php & ext- packages)。
**编辑:**您可以跳过平台检查,但是Composer将基于最新的PHP版本获取包。因此,当您需要Composer在依赖解析期间模拟PHP版本时,您可以(并且应该!)在Composer.json中使用此命令:
https://getcomposer.org/doc/06-config.md#platform
ldioqlga2#
对于许多命令,您可以使用参数“
--ignore-platform-reqs
“告诉composer绕过php版本检查:这将绕过php版本规范。
请注意,软件可能工作,也可能不工作:php版本规范在那里是因为代码中的某个地方至少需要指定的php版本,所以如果你使用那个代码软件就会崩溃。
soat7uwm3#
如果有什么东西需要特定版本的PHP,那么它将无法在较低版本的PHP中运行。当绕过PHP要求时,您仍然会收到错误。
顺便说一句,PHP5.3已经不再维护了,我强烈建议更新PHPCI服务器。