snippets · php

Composer läuft lokal, aber auf LIVE fehlen plötzlich PHP-Extensions oder Plattform-Anforderungen

composer install war lokal grün, nach dem Deployment fehlt auf LIVE eine Extension oder die PHP-Version passt nicht.

Die eigentliche Frage

Passt die reale Produktionsplattform zu den Anforderungen der bereits gelockten Pakete?

Auf dem Zielsystem:

composer check-platform-reqs --no-dev

Dieser Check prüft die tatsächlich laufende PHP-Version und Extensions gegen die installierten Paketanforderungen und ignoriert dabei bewusst config.platform.

Wenn Composer selbst merkwürdig wirkt:

composer diagnose
composer show --platform

Warum --ignore-platform-reqs kein Fix ist

Damit kann eine Installation trotz unpassender Plattform durchlaufen. Das verschiebt den Fehler nur von Composer in die Laufzeit.

Bei Shared Hosting

Prüfe zusätzlich, welches PHP der Composer-Aufruf verwendet:

which php
php -v
php --ini

Wenn der Hoster mehrere PHP-Binaries anbietet, kann composer über die Standard-CLI eine andere Version sehen als die Website.

Zielzustand

Nicht „Composer irgendwie erfolgreich“, sondern ein reproduzierbarer Nachweis: Lockfile + reale LIVE-PHP-Version + benötigte Extensions passen zusammen.

Quelle: https://getcomposer.org/doc/03-cli.md#check-platform-reqs