Aujourd’hui, on installe PHP 8.2 sur le serveur vu que SkyMinds est compatible avec selon notre testeur de compatibilité PHP.
La dernière version stable installée sur le serveur est PHP8 donc on récupère la liste des extensions PHP installées avec PHP 8:
dpkg -l | grep php8.0 | grep ii | awk '{print $2}'
php8.0
php8.0-apcu
php8.0-bcmath
php8.0-cli
php8.0-common
php8.0-curl
php8.0-fpm
php8.0-gd
php8.0-gmp
php8.0-igbinary
php8.0-imagick
php8.0-imap
php8.0-intl
php8.0-mbstring
php8.0-mysql
php8.0-opcache
php8.0-readline
php8.0-redis
php8.0-soap
php8.0-xml
php8.0-zip
Code language: JavaScript (javascript)
C’est bien mais nous pouvons améliorer la commande pour replacer php8.0 par php8.2:
dpkg -l | grep php8.0 | grep ii | awk '{print $2}' | sed 's/php8.0/php8.2/g'
php8.2
php8.2-apcu
php8.2-bcmath
php8.2-cli
php8.2-common
php8.2-curl
php8.2-fpm
php8.2-gd
php8.2-gmp
php8.2-igbinary
php8.2-imagick
php8.2-imap
php8.2-intl
php8.2-mbstring
php8.2-mysql
php8.2-opcache
php8.2-readline
php8.2-redis
php8.2-soap
php8.2-xml
php8.2-zip
Code language: JavaScript (javascript)
Transformons maintenant le résultat pour avoir une liste séparée par des espaces et non des sauts de lignes:
dpkg -l | grep php8.0 | grep ii | awk '{print $2}' | sed 's/php8.0/php8.2/g' | tr '\n' ' '
php8.2 php8.2-apcu php8.2-bcmath php8.2-cli php8.2-common php8.2-curl php8.2-fpm php8.2-gd php8.2-gmp php8.2-igbinary php8.2-imagick php8.2-imap php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-redis php8.2-soap php8.2-xml php8.2-zip
Code language: JavaScript (javascript)
Installation de PHP 8.2
Parfait, nous pouvons maintenant lancer apt install
combinée avec notre dernière commande:
apt install $(dpkg -l | grep php8.0 | grep ii | awk '{print $2}' | sed 's/php8.0/php8.2/g' | tr '\n' ' ')
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
php8.2-cli is already the newest version (8.2.7-1+ubuntu22.04.1+deb.sury.org+1).
php8.2-cli set to manually installed.
php8.2-common is already the newest version (8.2.7-1+ubuntu22.04.1+deb.sury.org+1).
php8.2-common set to manually installed.
php8.2-imagick is already the newest version (3.7.0-3+ubuntu22.04.1+deb.sury.org+1).
php8.2-imagick set to manually installed.
php8.2-opcache is already the newest version (8.2.7-1+ubuntu22.04.1+deb.sury.org+1).
php8.2-opcache set to manually installed.
php8.2-readline is already the newest version (8.2.7-1+ubuntu22.04.1+deb.sury.org+1).
php8.2-readline set to manually installed.
Suggested packages:
php-pear
The following NEW packages will be installed:
php8.2 php8.2-apcu php8.2-bcmath php8.2-curl php8.2-fpm
php8.2-gd php8.2-gmp php8.2-igbinary php8.2-imap php8.2-intl
php8.2-mbstring php8.2-mysql php8.2-redis php8.2-soap
php8.2-xml php8.2-zip
0 upgraded, 16 newly installed, 0 to remove and 0 not upgraded.
Need to get 3440 kB of archives.
After this operation, 10.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Code language: JavaScript (javascript)
Configuration de PHP 8.2
Pour la configuration du php.ini ainsi que du pool PHP, je vous conseille d’utiliser la configuration de notre WordPress RocketStack, qui donne d’excellents résultats en terme de performance et réactivité.
Mise à jour du server block NginX
C’est plutôt simple, il vous suffit d’éditer le server block NginX de votre domaine et de changer cette ligne:
# PHP 8
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
Code language: PHP (php)
par cette ligne:
# PHP 8.2
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
Code language: PHP (php)
Ensuite, il ne nous reste plus qu’à relancer les services:
service nginx restart
service php8.2-fpm restart
Code language: CSS (css)
Et voilà PHP 8.2 est installé et fait tourner le site, en moins de 10 minutes.
Recherchez-vous un expert WordPress ou WooCommerce sur qui vous pouvez compter? Ne cherchez plus.