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.
Warum php nicht reicht
Abschnitt betitelt „Warum php nicht reicht“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.
Die richtigen Pfade
Abschnitt betitelt „Die richtigen Pfade“Auf Plesk-Servern liegen die PHP-Versionen unter /opt/plesk/php/<version>/bin/php:
/opt/plesk/php/8.2/bin/php -v/opt/plesk/php/8.3/bin/php -v/opt/plesk/php/8.4/bin/php -vBeispiel — Composer (aus deinem Projekt) mit PHP 8.3 ausführen:
/opt/plesk/php/8.3/bin/php composer.phar installAuf cPanel-Servern liegen die PHP-Versionen als ea-php-Binaries unter /usr/local/bin/:
/usr/local/bin/ea-php82 -v/usr/local/bin/ea-php83 -v/usr/local/bin/ea-php84 -vBeispiel — ein Skript mit PHP 8.2 ausführen:
/usr/local/bin/ea-php82 bin/console cache:clearAlias anlegen: Kurzbefehl für deine Version
Abschnitt betitelt „Alias anlegen: Kurzbefehl für deine Version“Wer häufig auf der Shell arbeitet, macht sich die Wunschversion als Kurzbefehl verfügbar:
- Alias in die
~/.bashrcschreiben (Version anpassen):Terminal-Fenster echo "alias php83='/opt/plesk/php/8.3/bin/php'" >> ~/.bashrc - Die Datei neu laden:
Terminal-Fenster . ~/.bashrc - Ab jetzt startet
php83deine Wunschversion — prüfbar mitphp83 -v.
- Alias in die
~/.bashrcschreiben (Version anpassen):Terminal-Fenster echo "alias php82='/opt/cpanel/ea-php82/root/usr/bin/php'" >> ~/.bashrc - Die Datei neu laden:
Terminal-Fenster . ~/.bashrc - Ab jetzt startet
php82deine Wunschversion — prüfbar mitphp82 -v.
Wenn etwas schiefläuft
Abschnitt betitelt „Wenn etwas schiefläuft“php -v zeigt weiter die falsche Version
Abschnitt betitelt „php -v zeigt weiter die falsche Version“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.
Der Alias funktioniert nach erneutem Login nicht
Abschnitt betitelt „Der Alias funktioniert nach erneutem Login nicht“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.
Verwandte Artikel
Abschnitt betitelt „Verwandte Artikel“- Websites & Webserver — PHP-Version im Panel wählen, SSH-Zugang und mehr.
- Fehlersuche — wenn Skripte oder Shops nach PHP-Wechseln Fehler werfen.
- Shopware: „The content model is not determinist” beheben — ein Beispiel, wo Konsolen-Befehle mit der richtigen PHP-Version laufen müssen.
Du kommst nicht weiter?
Abschnitt betitelt „Du kommst nicht weiter?“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*.