Wir verwenden PHPCI und Composer. Der Server, auf dem PHPCI ausgeführt wird, ist PHP 5.3.
Für ein Projekt haben wir das Facebook PHP SDK mit Composer hinzugefügt. Es erfordert PHP 5.4. Der Komponist wird von PHPCI ausgelöst und ausgeführt. Aber weil der CI-Server gerade PHP 5.3 Composer erhalten hat, ist die folgende Fehlermeldung fehlgeschlagen:
facebook/php-sdk-v4 4.0.9 requires php >=5.4.0 -> no matching package found.
Dies ließ meinen Build in PHPCI natürlich scheitern.
Gibt es eine Möglichkeit, diese Anforderung zu überspringen? Vielleicht durch Hinzufügen einer Option zu composer.json? Oder ein Parameter zum Aufruf von composer.phar?
quelle
Bei vielen Befehlen können Sie den Komponisten anweisen, die PHP-Versionsprüfung mit dem Parameter "
--ignore-platform-reqs
" zu umgehen :Dadurch wird die PHP-Versionsspezifikation umgangen.
Beachten Sie, dass die Software möglicherweise funktioniert oder nicht: Die PHP-Versionsspezifikation ist vorhanden, da irgendwo im Code mindestens die angegebene PHP-Version benötigt wird. Wenn Sie diesen Code verwenden, wird die Software beschädigt.
quelle
--ignore-platform-reqs
ist nicht für alle Befehle verfügbar, wie Ihre Antwort impliziert.Wenn etwas eine bestimmte Version von PHP erfordert, wird es nicht in einer niedrigeren Version von PHP ausgeführt. Sie werden immer noch Fehler erhalten, wenn Sie die PHP-Anforderung umgehen.
Übrigens wird PHP 5.3 nicht mehr gepflegt, ich würde dringend empfehlen, den PHPCI-Server zu aktualisieren.
quelle