Domyślnie w Ubuntu 22.04 LTS jest dostępny język programowania PHP w wersji 8.2. Jednak niektóre skrypty – np. starsze wersje WordPressa lub PrestaShop mogą sobie nie poradzić z tak nową wersją interpretatora. Poniżej pokażemy jak zainstalować starszą wersję PHP 7.4 (zachowując PHP 8.1, PHP 8.2) a dodatkowo umożliwić wg uznania przełączanie się między tymi wersjami 🙂
Aktualizujemy zainstalowane pakiety:
1 |
sudo apt update && sudo apt upgrade |
Instalujemy ten pakiet:
1 |
sudo apt install software-properties-common |
Następnie dodajemy repozytorium PPA o nazwie Ondrej:
1 |
sudo add-apt-repository ppa:ondrej/php -y |
Instalujemy PHP 7.4:
1 |
sudo apt install php7.4 |
Następnie najpopularniejsze rozszerzenia:
1 |
sudo apt install php7.4-{cli,common,curl,zip,gd,mysql,xml,mbstring,json,intl} |
Gotowe! Wersję PHP przełączamy komendą:
1 |
sudo update-alternatives --config php |
Ukazuje nam się wybór wersji:
1 2 3 4 5 6 7 8 9 10 11 |
Są 4 dostępne alternatywy dla php (dostarczającego /usr/bin/php). Wybór Ścieżka Priorytet Status ------------------------------------------------------------ 0 /usr/bin/php.default 100 tryb auto 1 /usr/bin/php.default 100 tryb ręczny * 2 /usr/bin/php7.4 74 tryb ręczny 3 /usr/bin/php8.1 81 tryb ręczny 4 /usr/bin/php8.2 82 tryb ręczny Proszę wcisnąć <enter>, aby pozostawić bieżący wybór[*]; albo wpisać wybrany numer: |
Wystarczy wskazać odp. cyfrę i wcisnąć ENTER.
Inną metodą aktywacji danej wersji jest wykonanie tych komend:
1 2 3 |
sudo a2dismod php8.1 sudo a2enmod php7.4 systemctl restart apache2 |
Czyli dezaktywujemy wybraną wersję, aktywując inną. Po czym restartujemy serwer.
Odwrotna sytuacja:
1 2 3 |
sudo a2dismod php7.4 sudo a2enmod php8.1 systemctl restart apache2 |
W zasadzie jest to kalka rozwiązania z Ubuntu 14.04 😉 Opisywaliśmy to tutaj:
grafika: unsplash.com