2014-10-02 47 views
46

我们使用PHPCI和作曲家。运行PHPCI的服务器位于PHP 5.3上。跳过作曲家PHP要求

对于一个项目,我们使用composer添加了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调用一个参数?

回答

121

我发现的选项:

composer install --ignore-platform-reqs 

忽略平台的要求(PHP &外部 - 包)。


编辑:可以跳过平台检查与此,但作曲家将获取基于给定的PHP版本,那么包。所以,当你需要作曲家期间depedency解决也模仿PHP版本,你可以(!而且应该)在您的composer.json使用:

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

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

+0

我如何忽略私人存储库。一些包需要私人回购。 – dungphanxuan 2017-12-23 02:16:35

+0

你不能。您需要确保由作曲者执行的Git可以访问专用回购站,通常使用ssh密钥。您还可以将auth凭证存储在composer的全局配置文件中,以用于私人服务器。但只要一个包**是必需的**你不能忽视它。这只适用于平台要求。 – Armin 2017-12-25 01:23:01

0

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

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

+0

首先,我想知道如何绕过PHP要求。 – Armin 2014-10-06 09:02:56

+0

你不能,你不会,因为代码将无法在较低的PHP版本 – 2014-10-06 09:06:09

+1

它会。只有CI服务器获得了低PHP版本。包含facebook SDK的服务器运行在PHP 5.4上。它只是关于ci服务器,它将所有内容都打包成一个很好的可部署zip文件。 – Armin 2014-10-06 13:34:02