Aktualizacja PHP – Nextcloud

24 lipca, 2025 Wyłączono przez rogaleskoo

Używając Nextclouda prędzej czy później pojawiła się konieczność aktualizacji PHP do wersji akceptowanej przez nowsze wersje NC.

Zwykła instalacja nowszego PHP i przełączenie na nowszą wersje kończyło się brakiem współpracy ze strony NC. Podobnie doczekanie do aktualizacji PHP po stronie dystrybucji nie poprawiało sytuacji więc w końcu stwierdziłem, że trzeba rozkminić na czym polega problem.

Okazało się, ze przy aktualizacji nie instalują się wszytkie wymagane moduły php.

Jak to zwalczyć? Tak jak poniżej – działa na dzień 24.07.2025r.

Sprawdzenie jakie moduły są zainstalowane z php 8.1

sudo dpkg -l |grep php8.1 |tee packages.txt

Sprawdzenie jakie moduły przyszły domyślnie z nowym PHP

sudo dpkg -l |grep php8.2 |tee packages.txt

Instalacje tego czego nie ma w wersji 8.2

sudo apt-get install php8.2-bcmath php8.2-gmp php8.2-ldap

włączenie wersji php 8.2 w Apache2

a2enmod php8.2

Wyłączenie php8.1 w Apache2

sudo a2dismod php8.1

Restart Apache2

sudo systemctl restart apache2

Przełączenie php na nowszą wersję

sudo update-alternatives –config php

There are 4 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status

————————————————————

  0            /usr/bin/php8.4   84        auto mode

* 1            /usr/bin/php8.1   81        manual mode

  2            /usr/bin/php8.2   82        manual mode

 

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

update-alternatives: using /usr/bin/php8.2 to provide /usr/bin/php (php) in manual mode

restart Apache2

sudo service apache2 restart

Sprawdzenie aktualnej wersji PHP

php -v

PHP 8.2.29 (cli) (built: Jul  3 2025 13:07:49) (NTS)

No i na sam koniec, jak już wiadomo, że wszystko śmiga poprawnie, należy wyczyścić niepotrzebne php.

sudo apt-get remove –purge php8.1*