PHP 7.0 frissítése PHP 7.x és 8.x -re

Meglehetősen barátságtalanul van megoldva a PHP7 frissítése, nem is értem, hogy miért kellett így megcsinálni, talán a shared hostingok és a lusta fejlesztők/megbízók miatt. A PHP7 esetén nem frissül automatikusan ha újabbat kérünk tőle, hanem telepít a régi mellé egy újabb változatot. Természetesen a konfigokat sem hozza át. Én szeretek a legújabb stabil dolgokkal foglalkozni és kerülöm azt, hogy mindegyik kódom alatt verziókezelni kelljen a dolgokat. Igen, tudom nem vagyok hatékony ezzel, nem is vagyok gazdag.

Szal’ első lépésben mentsük el a /etc/php/php7.0 mappa tartalmát, biztos ami tuti. Majd nézük meg, hogy milyen PHP7.0 modulok vannak telepítve:

apt list --installed | grep php7.0

Állítsuk le a PHP7.0-fpm modult ( /etc/init.d/php7.0-fpm stop ). Majd távolítsunk el minden php7.0-t:

apt remove php7.0*

Ha ezzel megvagyunk, akkor telepítsük fel a PHP7.2 -t. A kötelező apache2 nélkül ezt úgy tudjuk megtenni, hogy nem a php7.2 -t tesszük előre a listában, tahát valahogy így:

apt install php7.2-fpm php7.2-bz2 php7.2-cli php7.2-zip php7.2-xsl php7.2-curl php7.2-gd php7.2-intl php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-soap php7.2-xml php7.2-xmlrpc php7.2-common php7.2

Amint készen van, mentsük el a /etc/php/php7.2 mappát is, majd másoljuk be a /etc/php/7.0 beálltás fájlokat ide.

Insítsuk el a php7.2-fpm -et és reménykedjünk 🙂

Update:

apt install php7.4-fpm php7.4-bz2 php7.4-cli php7.4-zip php7.4-xsl php7.4-curl php7.4-gd php7.4-intl php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-soap php7.4-xml php7.4-xmlrpc php7.4-common php7.4-json php7.4
apt install php8.1-fpm php8.1-bz2 php8.1-cli php8.1-zip php8.1-xsl php8.1-curl php8.1-gd php8.1-intl php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline php8.1-soap php8.1-xml php8.1-xmlrpc php8.1-common php8.1
apt install php8.2-fpm php8.2-bz2 php8.2-cli php8.2-zip php8.2-xsl php8.2-curl php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-soap php8.2-xml php8.2-xmlrpc php8.2-common php8.2
install lsb-release apt-transport-https ca-certificates software-properties-common -y

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'