Shopware v6.4.8.2 Stable Version - Umstellung PHP v8.0 ----> PHP v8.1

Hallo Forum,

wie stelle ich mein Shopware v6.4.8.2 von PHP v8.0 auf PHP v8.1 um?

Entgegen einiger Meinungen ist meine Version von Shopware dafür tauglich.

So sieht es gerade aus:

sudo update-alternatives --config php
There are 4 choices for the alternative php (providing /usr/bin/php).

  Selection    Path                  Priority   Status
------------------------------------------------------------
  0            /usr/bin/php.default   100       auto mode
  1            /usr/bin/php.default   100       manual mode
  2            /usr/bin/php7.4        74        manual mode
* 3            /usr/bin/php8.0        80        manual mode
  4            /usr/bin/php8.1        81        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Wie muss ich konkret vorgehen, es handelt sich um einen VPS Server, bei dem ich volle Rechte habe?

MfG
sven-sw

Man kann in Shopware keine PHP-Version einstellen.

Man stellt im Server ein mit welcher PHP-Version php-Dateien ausgeführt werden. Nicht vergessen auch die CLI umzustellen. Sonst wundert man sich irgendwann, wieso manches nicht mehr funktioniert.

Die CLI kann ich leicht umstellen, aber wie stelle ich das andere um?

Erst mal die Pakete installieren:

sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl  
sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
php8.1-cli is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-common is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-curl is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-dev is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-gd is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-imagick is already the newest version (3.6.0-4+ubuntu20.04.1+deb.sury.org+10).
php8.1-imap is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-intl is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-mbstring is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-mysql is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-opcache is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-redis is already the newest version (5.3.6+4.3.0-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-soap is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-xml is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
php8.1-xmlrpc is already the newest version (3:1.0.0~rc3-4+ubuntu20.04.1+deb.sury.org+10).
php8.1-zip is already the newest version (8.1.3-1+ubuntu20.04.1+deb.sury.org+1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Was ist los im System mit php:

php --version
PHP 8.0.16 (cli) (built: Feb 21 2022 14:42:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.16, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.16, Copyright (c), by Zend Technologies

Ich vermute jetzt:

# PHP 8.1 
sudo update-alternatives --set php /usr/bin/php8.1
sudo update-alternatives --set phar /usr/bin/phar8.1
sudo update-alternatives --set phar.phar /usr/bin/phar.phar8.1

CLI umschalten:

sudo update-alternatives --config php
There are 4 choices for the alternative php (providing /usr/bin/php).

  Selection    Path                  Priority   Status
------------------------------------------------------------
  0            /usr/bin/php.default   100       auto mode
  1            /usr/bin/php.default   100       manual mode
  2            /usr/bin/php7.4        74        manual mode
  3            /usr/bin/php8.0        80        manual mode
* 4            /usr/bin/php8.1        81        manual mode

Press <enter> to keep the current choice[*], or type selection number: 0
update-alternatives: using /usr/bin/php.default to provide /usr/bin/php (php) in auto mode

PHP Version 8.0.16 sagt info.php

Was fehlt?

Geil, ich bin bei

PHP Version 8.1.3

sagt info.php

Mein Weg:

sudo a2dismod php8.0
Module php8.0 disabled.
To activate the new configuration, you need to run:
sudo systemctl restart apache2

  
sudo a2enmod php8.1
Considering dependency mpm_prefork for php8.1:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php8.1:
Module php8.1 already enabled
sudo systemctl restart apache2

Den Hinweis, dass Konsole und Webserver jeweils eigene PHP Versionen haben können, gab ich Dir heute Morgen schon im anderen Thread.

Ebenso, dass die PHP Version auch für den Webserver eingestellt werden muss.

Nimm mir eine Frage nicht übel - aber weißt Du wirklich was Du tust mit einem eigenen Server? Stichpunkt Haftung?

Ich meine es nur gut, aber jede Deiner Fragen gehörte bisher zu den minimalsten Basics der Serveradministration.

Nimm mir eine Frage nicht übel - aber weißt Du wirklich was Du tust mit einem eigenen Server? Stichpunkt Haftung?

Auf dem Server ist nichts drauf und der wir nach Bastelarbeiten abgestellt.
Heute Morgen hatte ich deine Hinweise nicht verstanden, danke trotzdem.

Aber das kannst Du doch auch auf Deinem Rechner lokal testen, dafür bedarf es keine Maschine mit Gigabit-Anbindung.

Und nein - ich bin kein verbitterter Pro der anderen alles versauen will. Ich bin selbst nur ein „Bastler“, der aufgrund mittelprächtiger Kenntnisse nur auf managed Servern unterwegs ist und der Admin stets bereit steht.

Eigene Server laufen bei mir nur in der virtuellen Maschine im lokalen Netzwerk.