Czy Twoja chmura osobista potrzebuje zastrzyku prędkości? Przejście na PHP 8.3 to nie tylko kwestia bezpieczeństwa, ale przede wszystkim potężny skok wydajności interfejsu i operacji na plikach. W tym artykule przeprowadzimy Cię przez proces aktualizacji, eliminując po drodze najczęstsze błędy konfiguracyjne, takie jak brakujące moduły Redis czy limity pamięci.

Wielu administratorów obawia się aktualizacji PHP ze względu na ryzyko wystąpienia błędu 500. Jednak z odpowiednim przygotowaniem, proces ten jest szybki i bezpieczny.

Krok 1: Przygotowanie repozytoriów

Zaczynamy od dodania klucza GPG i oficjalnego repozytorium PHP dla Debiana, aby mieć dostęp do najnowszych wydań.

Terminal - root
# Pobranie klucza GPG
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg

# Dodanie repozytorium
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

Krok 2: Instalacja PHP 8.3 i modułów

Kluczem do stabilnego Nextclouda jest zestaw rozszerzeń. Szczególną uwagę należy zwrócić na php8.3-redis – bez niego chmura korzystająca z cache'owania nie wystartuje.

Terminal - Instalacja
sudo apt update
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-curl php8.3-xml php8.3-zip php8.3-intl php8.3-mbstring php8.3-gd php8.3-redis php8.3-bcmath php8.3-gmp php8.3-imagick

Krok 3: Optymalizacja php.ini

Domyślna konfiguracja PHP jest zbyt słaba dla chmury. Musimy zwiększyć limity w pliku /etc/php/8.3/fpm/php.ini.

Edycja php.ini
memory_limit = 512M
opcache.interned_strings_buffer = 16
opcache.max_accelerated_files = 10000
output_buffering = Off
Wskazówka: Po każdej zmianie w pliku .ini, koniecznie zrestartuj usługę komendą: sudo systemctl restart php8.3-fpm.

Krok 4: Naprawa błędów poinstalacyjnych

Jeśli po aktualizacji panel administratora zgłasza brakujące indeksy, użyj narzędzia OCC w katalogu swojej instalacji:

Nextcloud OCC
# Przejdź do katalogu (pamiętaj o swojej ścieżce!)
cd /var/www/html/nextcloud/
sudo -u www-data php8.3 occ db:add-missing-indices

Dzięki PHP 8.3 Twoja instancja Nextcloud zyska drugie życie. Ciesz się błyskawicznym dostępem do swoich danych!

Powrót do bloga