Contao: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0

Kürzlich stolperte ich bei einem Projekt nach dem Upgrade auf Contao 4.9 über ein – im ersten Moment sehr verwirrendes – Problem:

Auf dem Webspace gab es eine Contao-Installation die mehrere Websites beinhaltete. Die Haupt-Website lief einwandfrei nach dem Update. Eine kleine Website (wohl gemerkt auf derselben Contao-Installation) gab aber folgende Meldung aus, wenn man die Domain aufrief:

Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0

Die Verwirrung war groß, da die Haupt-Website problemlos lief. Ich schaute zur Sicherheit nochmal im Contao Manager/in der phpinfo nach. Dort stand, ebenso wie im Webspace-Adminpanel des Servers, dass eine höhere PHP 7.4.x-Version eingestellt war.

Nachdem ich mir partout keinen Reim darauf machen konnte, bat ich den strahlenden Helden aller verzagten Contao-Admins um Hilfe: Xtra.

Er brachte mich zum Glück rasch auf die richtige Fährte:

Er fragte, ob ich den Contao-Manager auch schon mal unter der Domain dieses kleinen Projekts aufgerufen habe. Ich verneinte, weil ich doch schon über die Domain des Großprojekts drin war. Auf sein Anraten holte ich das nach und siehe da, es gab direkt eine sehr klare Fehlermeldung:

vendor/bin/contao-console contao:version
Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.2.34. in /var/www/XXXXX/vendor/composer/platform_check.php on line 24

Meine Verwirrung war umso größer, aber dann machte er mich darauf aufmerksam, dass beim Webhoster sicher für diese Domain eine andere PHP-Version eingestellt war, als für das Hauptprojekt.  Yup, das war es. Ich war gedanklich so daran festgehangen, dass es doch derselbe Webspace ist, dass ich gar nicht mehr daran gedachte hatte, dass die Aliasdomain (vHost) eigene Einstellungen beim Webhoster hat.

Also loggte ich mich schnell ins Adminpanel des Webhosters ein, wählte die richtige PHP-Version und kopierte auch sämtliche anderen Anweisungen von der Hauptdomain rüber. Voilá, alles lief wie geschmiert.