Zum Inhalt springen

PHP-Version auf der Shell korrekt nutzen

Zuletzt geprüft

Die PHP-Version auf der Shell ist nicht die, die du im Panel für deine Domain eingestellt hast. Der Befehl php nutzt die Server-Standard-Version — und die kann sich jederzeit ohne Ankündigung ändern. Für Composer, Konsolen-Befehle und Cronjobs Zeitgesteuerte Aufgaben auf dem Server — führen Skripte automatisch in festen Intervallen aus. rufst du deine Wunschversion deshalb immer über den vollständigen Pfad auf.

Das Panel stellt die PHP-Version pro Domain für den Webserver ein. Die Shell hängt nicht an dieser Einstellung — sie nimmt die Standard-Version des Servers. Ein php bin/console oder php composer.phar läuft damit unter Umständen auf einer ganz anderen Version als deine Webseite. Typische Folgen: Composer meldet Versionskonflikte, Konsolen-Befehle deines Shops brechen mit Syntax-Fehlern ab.

Auf Plesk-Servern liegen die PHP-Versionen unter /opt/plesk/php/<version>/bin/php:

Terminal-Fenster
/opt/plesk/php/8.2/bin/php -v
/opt/plesk/php/8.3/bin/php -v
/opt/plesk/php/8.4/bin/php -v

Beispiel — Composer (aus deinem Projekt) mit PHP 8.3 ausführen:

Terminal-Fenster
/opt/plesk/php/8.3/bin/php composer.phar install

Wer häufig auf der Shell arbeitet, macht sich die Wunschversion als Kurzbefehl verfügbar:

  1. Alias in die ~/.bashrc schreiben (Version anpassen):
    Terminal-Fenster
    echo "alias php83='/opt/plesk/php/8.3/bin/php'" >> ~/.bashrc
  2. Die Datei neu laden:
    Terminal-Fenster
    . ~/.bashrc
  3. Ab jetzt startet php83 deine Wunschversion — prüfbar mit php83 -v.

Erwartetes Verhalten — der nackte php-Befehl bleibt beim Server-Standard.

Lösung: Deinen Alias oder den vollen Pfad nutzen.

Composer installiert Pakete für die falsche PHP-Version

Abschnitt betitelt „Composer installiert Pakete für die falsche PHP-Version“

Composer übernimmt die Version des PHP-Binaries, mit dem es aufgerufen wird.

Lösung: Die composer.phar aus deinem Projekt immer explizit über deine Wunschversion aufrufen — php83 composer.phar install (mit Alias) statt nur composer install.

Auf manchen Systemen lädt die Login-Shell ~/.bash_profile statt ~/.bashrc.

Lösung: Mit cat ~/.bashrc prüfen, ob die Alias-Zeile gespeichert wurde. Falls ja, in ~/.bash_profile eine Zeile . ~/.bashrc ergänzen.

Wenn ein Befehl trotz vollem Pfad die falsche Version meldet oder eine benötigte PHP-Version auf deinem Server fehlt: Ticket im Kundencenter öffnen. Nenn den genauen Befehl und die Ausgabe von ls /opt/plesk/php/ bzw. ls /usr/local/bin/ea-php*.