LinuxAdmin
Administracja Monitoring Awarie Migracje DevOps Cennik Blog Kontakt
~ / blog / apache-php-fpm
// poradnik opublikowano 2023-10-29 · zaktualizowano 2026-10-08

Apache i wiele wersji PHP-FPM na Ubuntu

Kilka wersji PHP na jednym serwerze ma sens, gdy aplikacje mają różne wymagania. Wersję przypisuje się do konkretnego vhosta i puli PHP-FPM, a nie globalnie do całego serwera.

Apache i wiele wersji PHP-FPM na Ubuntu

Zmiana wersji PHP nie jest wyłącznie zmianą pakietu. Trzeba potwierdzić zgodność kodu i bibliotek, dostępność rozszerzeń, ustawienia puli FPM, konfigurację serwera WWW oraz możliwość bezpiecznego powrotu. Starszą wersję PHP warto traktować jako rozwiązanie przejściowe dla konkretnej aplikacji, a nie jako domyślny wybór dla nowego wdrożenia.

Najpierw rozpoznanie środowiska

Przed instalacją lub przełączeniem sprawdź, jaki system i wersje PHP działają obecnie, które rozszerzenia wykorzystuje aplikacja oraz czy istnieje sprawdzona kopia zapasowa. W środowisku produkcyjnym zaplanuj testy logowania, formularzy, płatności, integracji i zadań cron.

Jedna pula PHP-FPM dla jednego vhosta

Apache przekazuje pliki PHP do PHP-FPM przez FastCGI. Moduły proxy i proxy_fcgi muszą być włączone, a vhost powinien wskazywać socket właściwej puli. Przykład pokazuje ideę konfiguracji. Wartość X.Y należy zastąpić tylko wersją, której socket faktycznie istnieje na serwerze.

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com/public

    <FilesMatch "\.php$">
        SetHandler "proxy:unix:/run/php/phpX.Y-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

Ten fragment należy umieścić w konkretnym vhoście, a nie w konfiguracji globalnej. Dzięki temu jedna aplikacja może używać innej puli FPM niż pozostałe serwisy na tym samym hoście.

Kontrola przed przeładowaniem usług

Najpierw sprawdź moduły Apache, konfigurację oraz stan właściwej puli. Polecenia diagnostyczne nie zastępują testu aplikacji, ale szybko ujawniają literówkę w socketcie, wyłączony moduł lub niedziałającą usługę.

apachectl -M | grep -E 'proxy(_fcgi)?_module'
apachectl -t
systemctl status phpX.Y-fpm
ls -l /run/php/

Po zmianie obserwuj logi Apache i PHP-FPM oraz sprawdź rzeczywiste funkcje aplikacji. Testowy plik z phpinfo() należy usunąć od razu po weryfikacji.

Repozytorium PHP dobiera się do systemu

Nie warto kopiować starej instrukcji dodawania PPA bez sprawdzenia wydania systemu i obecnej dokumentacji źródła pakietów. Przejście z PPA na inne repozytorium może wymagać osobnego planu: apt nie zawsze wymieni pakiety automatycznie, a część rozszerzeń może mieć inną dostępność. Najpierw sprawdza się politykę pakietów, zależności i plan powrotu.

Więcej o przygotowaniu aktualizacji opisujemy w materiale PHP 8.4 na Debianie. Gdy zmiana obejmuje system, PHP i bazę danych, bezpieczniej potraktować ją jako projekt migracji.

Potrzebujesz wielu wersji PHP na działającym serwerze?

Możemy sprawdzić aplikacje, pule PHP-FPM, vhosty i plan przełączenia. Przy zmianie wymagającej testów wykonujemy ją z kopią, uzgodnionym oknem serwisowym i możliwością powrotu.

Zobacz zakres administracji serwerów →

Wyceń administrację serwera

Opisz aplikację, obecne wersje PHP i planowaną zmianę. Najpierw ustalimy ryzyko, zakres testów oraz bezpieczny sposób przełączenia.

LinuxAdmin by SysGroup

Usługę realizuje SysGroup Sp. z o.o. - polski zespół administratorów i DevOps.

sysgroup.pl →