Skip composer PHP requirement

笑着哭i 提交于 2019-12-03 00:16:59

问题


We are using PHPCI and composer. The server which runs PHPCI is on PHP 5.3.

For a project we added the Facebook PHP SDK, using composer. It requires PHP 5.4. Composer gets triggered by PHPCI and get executed. But because the CI server just got PHP 5.3 composer failed with the error message:

facebook/php-sdk-v4 4.0.9 requires php >=5.4.0 -> no matching package found.

This let fail my build in PHPCI, of course.

Is there a possibility to skip this requirement? Maybe by adding an option to composer.json? Or a parameter to composer.phar call?


回答1:


I've found the option:

composer install --ignore-platform-reqs

Ignore platform requirements (php & ext- packages).


Edit: You can skip the platform checks with this, but Composer will fetch packages based on given PHP version then. So when you need composer to also emulate a PHP version during depedency resolving, you can (and should!) use this in your composer.json:

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

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




回答2:


You can tell composer to bypass php version check, with parameter "--ignore-platform-reqs":

composer COMMAND --ignore-platform-reqs

this will bypass php version specification.

Be aware that the software may work or not: php version specification is there because somewhere in the code is needed at least the specified php version, so if you use that code the software will break.




回答3:


If anything requires a specific version of PHP, it won't run in a lower version of PHP. You will properbly still recieve errors when bypassing the PHP requirement.

Btw, PHP 5.3 is no longer maintained, I would strongly recommend updating the PHPCI server.



来源:https://stackoverflow.com/questions/26165101/skip-composer-php-requirement

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!