web-dev-qa-db-fra.com

Ignorer composer PHP condition requise

Nous utilisons PHPCI et compositeur. Le serveur qui exécute PHPCI est sur PHP 5.3.

Pour un projet, nous avons ajouté le Facebook PHP SDK, à l'aide du composeur. Il nécessite PHP 5.4. =. Composer est déclenché par PHPCI. et être exécuté, mais parce que le serveur de CI vient de recevoir PHP 5.3 composer a échoué avec le message d'erreur suivant:

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

Cela a bien sûr échoué dans ma construction dans PHPCI.

Existe-t-il une possibilité de passer cette exigence? Peut-être en ajoutant une option à composer.json? Ou un paramètre à composer.phar call?

88
Armin

J'ai trouvé l'option:

composer install --ignore-platform-reqs

Ignorer les exigences de la plate-forme (php et ext-packages).


Edit: Vous pouvez ignorer les vérifications de plate-forme avec ceci, mais Composer récupérera les paquetages basés sur PHP version alors. Donc quand vous avez besoin composer pour émuler également une version PHP version lors de la résolution des dépendances, vous pouvez (et devriez!!!) ceci dans votre composer.json:

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

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

222
Armin