So beheben Sie den Fehler „PHP-Version erfüllt diese Anforderung nicht“ in Composer für Drupal-Projekte
Für diejenigen, die Drupal-Websites erstellen, ist Composer unerlässlich. Es hilft, neue Website-Komponenten wie Module und Themes zu verwalten und hinzuzufügen. Wenn Sie sich jedoch jemals über die Funktionsweise von Composer im Unklaren waren, stellen Sie sich es als einen hilfreichen Lebensmitteleinkäufer vor. Sie sind sich der Analogie nicht sicher? Lesen Sie diesen Artikel: „Understanding Composer: A Simple Analogy of Grocery Shopping for Better Dependency Management”.
Wenn wir unsere Arbeit jedoch von unserer lokalen Umgebung auf den Server verschieben, kann manchmal der Fehler „PHP-Version erfüllt diese Anforderung nicht“ auftreten:
Installieren von Abhängigkeiten aus der Lock-Datei (einschließlich require-dev)
Überprüfung, ob der Inhalt der Lock-Datei auf der aktuellen Plattform installiert werden kann.
Ihre Lock-Datei enthält keinen kompatiblen Satz von Paketen. Bitte führen Sie composer update aus.

Dieser Fehler bedeutet, dass die PHP-Version in Ihrem lokalen Setup von der auf dem Server abweicht, was zu Problemen mit Ihrer Drupal-Website führt.
Warum tritt der Fehler „PHP-Version erfüllt diese Anforderung nicht“ in Composer für Drupal auf?
Wenn Sie an einem Drupal-Projekt arbeiten und lokal composer update
ausführen, richtet Composer die Datei composer.lock
basierend auf der von Ihnen verwendeten PHP-Version ein. Wenn diese Lock-Datei in einer Umgebung mit einer anderen PHP-Version verwendet wird, treten Probleme auf.
Lösungen für Drupal-Entwickler:
- PHP-Versionen synchronisieren: Verwenden Sie dieselbe PHP-Version in allen Umgebungen – egal ob lokal, in der Staging- oder Produktionsumgebung. Diese Ausrichtung verhindert Diskrepanzen und stellt sicher, dass Drupal-Module und -Themes konsistent funktionieren. Lokal ist die Anpassung der PHP-Version bei Verwendung von
ddev
unkompliziert. Sie können mit dem Befehl auf PHP-Version 8.1 wechseln:
ddev config --php-version 8.1
- Composers Plattformkonfiguration verwenden: Wenn Sie nicht dieselbe PHP-Version in allen Umgebungen verwenden können, können Sie Composer so konfigurieren, dass eine bestimmte PHP-Version nachgeahmt wird. Fügen Sie in der Datei
composer.json
Ihres Drupal-Projekts Folgendes hinzu:
"config": {
"platform": {
"php": "8.1.0"
}
}
- Jetzt löst Composer Abhängigkeiten so auf, als ob PHP 8.1 ausgeführt würde, auch wenn Ihre lokale Version anders ist.
- Änderungen übertragen & Drupal aktualisieren: Committen und übertragen Sie die geänderten Dateien
composer.json
undcomposer.lock
. Wenn Sie sie auf dem Server ziehen, führen Siecomposer install
aus, um sicherzustellen, dass Drupal den richtigen Satz von Abhängigkeiten erhält. - PHP-Kompatibilität von Drupal-Modulen regelmäßig überprüfen: Während Core-Drupal-Updates im Allgemeinen gut getestet sind, können beigetragene Module manchmal Kompatibilitätsprobleme aufweisen. Überprüfen Sie regelmäßig die Composer-Anforderungen des Moduls und testen Sie Updates lokal, bevor Sie sie bereitstellen.
- Kontinuierliche Integration für Drupal: Tools wie Acquia Pipelines oder Drupal-fokussierte CI-Lösungen können dazu beitragen, die Konsistenz der PHP-Version zu erzwingen und sicherzustellen, dass Ihr Drupal-Projekt über alle Bereitstellungen hinweg fehlerfrei bleibt.
Fazit:
Die Arbeit mit Drupal und Composer bedeutet, dass Sie auf die Übereinstimmung der PHP-Versionen achten müssen. Durch vorausschauende Planung können Ihre Website-Updates reibungsloser und mit weniger Problemen ablaufen. Am besten ist es, die PHP-Version überall gleich zu halten, um die Entwicklung zu vereinfachen.
Viel Erfolg beim Debugging!