{"id":21002,"date":"2026-08-25T18:19:33","date_gmt":"2026-08-25T16:19:33","guid":{"rendered":"https:\/\/webhosting.de\/cloudlinux-php-selector-php-version-im-shared-hosting-flexibel-setup\/"},"modified":"2026-08-25T18:19:33","modified_gmt":"2026-08-25T16:19:33","slug":"cloudlinux-selektor-php-wersja-php-w-hostingu-wspoldzielonym-elastyczna-konfiguracja","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/cloudlinux-php-selector-php-version-im-shared-hosting-flexibel-setup\/","title":{"rendered":"CloudLinux PHP Selector \u2013 spos\u00f3b dzia\u0142ania i ograniczenia w praktyce"},"content":{"rendered":"<p>Selektor PHP w CloudLinuxie pozwala ustawi\u0107 konkretn\u0105 wersj\u0119 PHP i aktywowane rozszerzenia dla ka\u017cdego konta, bez zmiany domy\u015blnych ustawie\u0144 dla ca\u0142ego serwera. Poka\u017c\u0119, jak ta technologia dzia\u0142a w CageFS i LVE, oraz jakie <strong>Granice<\/strong> jak dzia\u0142aj\u0105 i jak bezpiecznie korzysta\u0107 z selektora na co dzie\u0144.<\/p>\n\n<h2>Punkty centralne<\/h2>\n<ul>\n  <li><strong>Architektura<\/strong>: alt-php dzia\u0142a w izolowanym \u015brodowisku CageFS z w\u0142asn\u0105 przestrzeni\u0105 nazw.<\/li>\n  <li><strong>Wymagania wst\u0119pne<\/strong>: CageFS w\u0142\u0105czony, pakiety alt-php zainstalowane, odpowiedni handler.<\/li>\n  <li><strong>U\u017cyj<\/strong>: Wybierz wersj\u0119, w\u0142\u0105cz rozszerzenia, dostosuj parametry pliku php.ini.<\/li>\n  <li><strong>Rozgraniczenie<\/strong>: MultiPHP Manager ustawia warto\u015b\u0107 domy\u015bln\u0105, a Selector nadpisuje j\u0105 na koncie.<\/li>\n  <li><strong>Praktyka<\/strong>: Konfiguracja na poziomie witryny za pomoc\u0105 izolat\u00f3w w przypadku \u015brodowisk projektowych o zr\u00f3\u017cnicowanej strukturze.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/cloudlinux-php-selector-1027.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Jak dzia\u0142a wewn\u0119trznie selektor PHP w CloudLinux<\/h2>\n<p>Postrzegam selektor jako prze\u0142\u0105cznik, kt\u00f3ry w osobistej przestrzeni nazw CageFS danego konta wybiera \u017c\u0105dane <strong>stara wersja PHP<\/strong>-wy\u015bwietla pliki binarne. Te alternatywne wersje s\u0105 oddzielone od systemowego PHP i korzystaj\u0105 z w\u0142asnych \u015bcie\u017cek oraz w\u0142asnej konfiguracji. Gdy tylko ustawi\u0119 wersj\u0119 w panelu, wywo\u0142anie php w moim kontek\u015bcie u\u017cytkownika korzysta w\u0142a\u015bnie z tego pliku binarnego. Nie ma to \u017cadnego wp\u0142ywu na systemowe PHP, dzi\u0119ki czemu administratorzy mog\u0105 nadal korzysta\u0107 ze swojego niezawodnego <strong>Domy\u015blne<\/strong> . Kluczowe znaczenie ma izolacja zapewniana przez LVE i CageFS: ka\u017cdy projekt dzia\u0142a we w\u0142asnym kontek\u015bcie, dzi\u0119ki czemu zale\u017cno\u015bci i \u015bcie\u017cki s\u0105siednich projekt\u00f3w nie maj\u0105 znaczenia.<\/p>\n\n<h2>Wymagania i kompatybilno\u015b\u0107<\/h2>\n<p>Selektor nie dzia\u0142a bez aktywnego CageFS, poniewa\u017c dopiero to \u015brodowisko izoluje <strong>Konto<\/strong> poprawnie. Dodatkowo musz\u0105 by\u0107 zainstalowane pakiety \u201ealt-php\u201d, w przeciwnym razie panel nie wy\u015bwietli opcji wyboru. Dotychczasowy modu\u0142 obs\u0142ugi PHP serwera pozostaje nadal decyduj\u0105cy; selektor go nie zast\u0119puje, lecz dzia\u0142a w oparciu o niego. W wyborze mi\u0119dzy CGI, FCGI, LSAPI lub FPM pomocna jest kr\u00f3tka <a href=\"https:\/\/webhosting.de\/pl\/php-porownanie-handlerow-cgi-fpm-lsapi-hosting-poolmaster\/\">Por\u00f3wnanie obs\u0142ugi PHP<\/a>, abym m\u00f3g\u0142 odpowiednio zaplanowa\u0107 \u015brodowisko uruchomieniowe. Problemem mog\u0105 by\u0107 mod_php\/DSO lub niekt\u00f3re konfiguracje FPM, je\u015bli nie s\u0105 przystosowane do pracy z <strong>CageFS<\/strong> zosta\u0142y przygotowane.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/cloudlinux_php_selector_meeting_1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Proces instalacji i administrowania<\/h2>\n<p>W praktyce zawsze konfiguruj\u0119 Selector zgodnie z jasn\u0105 procedur\u0105: najpierw instaluj\u0119 potrzebne wersje starego PHP wraz ze standardowymi rozszerzeniami (na przyk\u0142ad 8.1, 8.2, 8.3, ewentualnie 7.4 dla starszych aplikacji). Nast\u0119pnie inicjalizuj\u0119 i aktualizuj\u0119 CageFS, aby nowe pliki binarne trafi\u0142y do szkielet\u00f3w u\u017cytkownik\u00f3w. W panelu sterowania aktywuj\u0119 Selector i definiuj\u0119, kt\u00f3re wersje i modu\u0142y maj\u0105 by\u0107 w og\u00f3le oferowane. Celowo ograniczam t\u0119 list\u0119, aby zmniejszy\u0107 zu\u017cycie pami\u0119ci RAM i unikn\u0105\u0107 konflikt\u00f3w.<\/p>\n<p>W celu zapewnienia jako\u015bci przeprowadzam testy na koncie demonstracyjnym: polecenie phpinfo() w przegl\u0105darce oraz php -v po zalogowaniu si\u0119 przez SSH pokazuj\u0105 mi, czy \u015bcie\u017cki w CageFS s\u0105 wy\u015bwietlane poprawnie. Dopiero gdy przypadki CGI\/FCGI\/LSAPI dzia\u0142aj\u0105 bez zarzutu, a lista rozszerze\u0144 jest kompletna, udost\u0119pniam t\u0119 funkcj\u0119 klientom. Nast\u0119pnie wdra\u017cam aktualizacje z oznaczeniem wersji: nowe pakiety alt-php trafiaj\u0105 najpierw na serwery stagingowe, a potem na w\u0119z\u0142y produkcyjne z oknem serwisowym i monitorowaniem.<\/p>\n\n<h2>CloudLinux PHP Selector a MultiPHP Manager<\/h2>\n<p>Aby unikn\u0105\u0107 nieporozumie\u0144, wyra\u017anie rozr\u00f3\u017cniam poziom administratora od poziomu u\u017cytkownika. MultiPHP Manager okre\u015bla dla ka\u017cdej domeny lub globalnie, kt\u00f3re ustawienia systemowe <strong>Wersja<\/strong> ma zastosowanie. Selektor PHP w CloudLinux pozwala mi na korzystanie w ramach mojego konta z innej wersji wraz z rozszerzeniami i ustawieniami pliku php.ini. Je\u015bli domy\u015blne ustawienia domeny i wyb\u00f3r dokonany w selektorze s\u0105 ze sob\u0105 sp\u00f3jne, wyb\u00f3r u\u017cytkownika jest stosowany w spos\u00f3b przezroczysty. W ten spos\u00f3b administratorzy zapewniaj\u0105 bezpiecze\u0144stwo <strong>Linia bazowa<\/strong>-stan, przy czym u\u017cytkownicy mog\u0105 elastycznie przechodzi\u0107 na starsze lub nowsze wersje.<\/p>\n\n<h2>Funkcje dla u\u017cytkownik\u00f3w: wersja, rozszerzenia, php.ini<\/h2>\n<p>Na co dzie\u0144 zmieniam wersj\u0119 PHP w zale\u017cno\u015bci od potrzeb projektu, na przyk\u0142ad z 7.4 na 8.2, nie nara\u017caj\u0105c przy tym reszty konta. Za pomoc\u0105 interfejsu graficznego aktywuj\u0119 wybran\u0105 <a href=\"https:\/\/webhosting.de\/pl\/rozszerzenia-php-hosting-wykorzystanie-ryzyka-stabilityboost\/\">Rozszerzenia PHP<\/a> takie jak intl, imagick, redis czy opcache za pomoc\u0105 kilku klikni\u0119\u0107. Dodatkowo dostosowuj\u0119 typowe <strong>php.ini<\/strong>-parametry, takie jak memory_limit, upload_max_filesize, post_max_size czy max_execution_time. Administrator ustala bia\u0142\u0105 list\u0119 dyrektyw, kt\u00f3re mo\u017cna zmienia\u0107, dzi\u0119ki czemu opcje krytyczne dla bezpiecze\u0144stwa pozostaj\u0105 chronione. W przypadku starszego oprogramowania, w razie potrzeby korzystam z wersji Hardened PHP, kt\u00f3re zawieraj\u0105 poprawki bezpiecze\u0144stwa dla wycofanych <strong>Zwolnienia<\/strong> udost\u0119pni\u0107.<\/p>\n\n<h2>Mechanizm dzia\u0142ania pliku php.ini i dziedziczenie<\/h2>\n<p>Wa\u017cne w codziennej pracy: Kt\u00f3ry plik php.ini ma pierwsze\u0144stwo? W pliku Selector definiuj\u0119 domy\u015blne ustawienia dla ca\u0142ego konta. Dodatkowo w poszczeg\u00f3lnych katalogach mog\u0105 obowi\u0105zywa\u0107 pliki .user.ini, na przyk\u0142ad w katalogu g\u0142\u00f3wnym dokument\u00f3w lub w podkatalogach. Te lokalne pliki zast\u0119puj\u0105 w\u00f3wczas poszczeg\u00f3lne dyrektywy, nie zmieniaj\u0105c globalnej konfiguracji konta. Je\u015bli pracuj\u0119 z serwerem Apache, w odpowiednich handlerach uzupe\u0142niam wymagane warto\u015bci w pliku .htaccess za pomoc\u0105 php_value\/php_flag \u2013 o ile administrator na to pozwala. Dbam o przejrzysto\u015b\u0107 i dokumentacj\u0119 konfiguracji: ustawienia dla ca\u0142ego konta w pliku Selector, a precyzyjne dostosowania specyficzne dla projektu w plikach .user.ini umieszczonych w pobli\u017cu aplikacji.<\/p>\n\n<h2>Selektor PHP dla poszczeg\u00f3lnych witryn i izolaty<\/h2>\n<p>Wcze\u015bniej wszystkie strony internetowe w ramach jednego konta korzysta\u0142y z tej samej konfiguracji, co utrudnia\u0142o zarz\u0105dzanie zr\u00f3\u017cnicowanymi \u015brodowiskami projektowymi. Dzi\u0119ki funkcji \u201ePer-Site PHP Selector\u201d mog\u0119 przypisa\u0107 ka\u017cdej odizolowanej witrynie w\u0142asn\u0105 <strong>Wersja<\/strong> oraz odpowiedni zestaw rozszerze\u0144. W ten spos\u00f3b uruchamiam kod starszej generacji na wersji 7.x, podczas gdy nowy projekt dzia\u0142a jednocze\u015bnie na wersji 8.3. Sterowanie dzia\u0142a obecnie najlepiej w \u015brodowiskach cPanel i jest konfigurowane za pomoc\u0105 narz\u0119dzi CLI. Dla agencji oznacza to wyra\u017an\u0105 <strong>Zalety<\/strong>, poniewa\u017c mog\u0119 wdra\u017ca\u0107 migracje krok po kroku i w spos\u00f3b przejrzysty.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/cloudlinux-php-selector-action-8394.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>CLI, Cron i automatyzacja<\/h2>\n<p>\u015arodowisko internetowe i CLI powinny korzysta\u0107 z tej samej wersji, w przeciwnym razie pojawiaj\u0105 si\u0119 trudne do wyja\u015bnienia b\u0142\u0119dy. W zadaniach cron i skryptach wdra\u017cania wyra\u017anie wywo\u0142uj\u0119 \u017c\u0105dany plik binarny, na przyk\u0142ad poprzez \u015bcie\u017ck\u0119 do starej wersji PHP projektu. Composer, WP-CLI i Artisan dzia\u0142aj\u0105 w\u00f3wczas dok\u0142adnie z rozszerzeniami i limitami wybranego \u015brodowiska. Sprawdzam za pomoc\u0105 polece\u0144 `php -v` i `php -m` w logu cron, czy aktywna jest oczekiwana wersja i zestaw modu\u0142\u00f3w.<\/p>\n<p>W przypadku zmian masowych stawiam na automatyzacj\u0119: dla ka\u017cdego klienta mog\u0119 prze\u0142\u0105cza\u0107 wersje i modu\u0142y za pomoc\u0105 CLI, co pozwala mi ujednolici\u0107 ca\u0142e zasoby reseller\u00f3w. Od razu planuj\u0119 r\u00f3wnie\u017c przywr\u00f3cenie poprzedniej wersji, odnotowuj\u0105c j\u0105 i w razie potrzeby automatycznie przywracaj\u0105c. Dzi\u0119ki temu aktualizacje s\u0105 powtarzalne, a ja unikam niesp\u00f3jnych stan\u00f3w przej\u015bciowych.<\/p>\n\n<h2>Ograniczenia i typowe przeszkody<\/h2>\n<p>Selektor nie zast\u0119puje centralnego zarz\u0105dzania wersj\u0105 systemu, dlatego domy\u015blnym mechanizmem sterowania pozostaj\u0105 narz\u0119dzia panelu. Je\u015bli brakuje CageFS lub nie zainstalowano pakiet\u00f3w alt-php, decyduj\u0105cy jest wyb\u00f3r u\u017cytkownika <strong>nie<\/strong> zgodnie z oczekiwaniami. U\u017cytkownicy mog\u0105 zmienia\u0107 jedynie udost\u0119pnione dyrektywy, natomiast bardziej zaawansowane parametry pozostaj\u0105 chronione. W \u015brodowiskach, w kt\u00f3rych dzia\u0142aj\u0105 konkurencyjne narz\u0119dzia, dbam o to, by dwa systemy nie aktualizowa\u0142y wersji jednocze\u015bnie. Kto chce korzysta\u0107 z funkcji na poziomie witryny poza cPanel, powinien zaplanowa\u0107 rozwi\u0105zania alternatywne lub na razie pozosta\u0107 przy ustawieniach na poziomie konta\u2014<strong>Ustawienia<\/strong>.<\/p>\n\n<h2>Wydajno\u015b\u0107 i bezpiecze\u0144stwo<\/h2>\n<p>Obecno\u015b\u0107 wielu wersji na jednym serwerze powoduje dodatkowe zapotrzebowanie na pami\u0119\u0107 RAM, poniewa\u017c ka\u017cda starsza wersja PHP prowadzi w\u0142asn\u0105 pami\u0119\u0107 OPcache. Dlatego ograniczam liczb\u0119 naprawd\u0119 potrzebnych <strong>Zwolnienia<\/strong> i mierz\u0119 zu\u017cycie. Limity LVE oraz CageFS chroni\u0105 konta przed sob\u0105 nawzajem, co ma szczeg\u00f3lne znaczenie zw\u0142aszcza w przypadku w\u0119z\u0142\u00f3w o du\u017cym obci\u0105\u017ceniu. W przypadku starszych system\u00f3w stawiam na Hardened-PHP, aby usun\u0105\u0107 krytyczne luki bez konieczno\u015bci natychmiastowej migracji kodu; szczeg\u00f3\u0142y dotycz\u0105ce alt-php i aspekt\u00f3w bezpiecze\u0144stwa podsumowuj\u0119 tutaj w praktyczny spos\u00f3b: <a href=\"https:\/\/webhosting.de\/pl\/cloudlinux-starsza-wersja-php-kwestie-bezpieczenstwa-i-obszary-zastosowan-safeserver\/\">Stara wersja PHP a bezpiecze\u0144stwo<\/a>. Kto m\u0105drze dobierze rozmiar OPcache i zrezygnuje z niepotrzebnych rozszerze\u0144 <strong>z<\/strong>prze\u0142\u0105cza, co pozwala utrzyma\u0107 niskie op\u00f3\u017anienia.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/cloudlinux_php_selector_9328.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Precyzyjne dostrajanie OPcache i pami\u0119ci podr\u0119czne<\/h2>\n<p>Konfiguruj\u0119 OPcache dla ka\u017cdej wersji i ka\u017cdego konta tak, aby odzwierciedla\u0142 rzeczywisty rozmiar kodu: nie nale\u017cy ustawia\u0107 warto\u015bci opcache.memory_consumption zbyt nisko, nale\u017cy rozs\u0105dnie ustawi\u0107 revalidate_freq oraz pozostawi\u0107 w\u0142\u0105czone sprawdzanie znacznik\u00f3w czasu w projektach programistycznych. W przypadku wdro\u017ce\u0144 obejmuj\u0105cych wiele plik\u00f3w warto przed kolejnym wydaniem usun\u0105\u0107 stare pami\u0119ci podr\u0119czne, aby nie uruchamia\u0107 przestarza\u0142ego kodu bajtowego. Je\u015bli aktywnych jest kilka r\u00f3wnoleg\u0142ych wersji, bior\u0119 pod uwag\u0119, \u017ce ka\u017cda z nich utrzymuje w\u0142asn\u0105 pami\u0119\u0107 podr\u0119czn\u0105; ma to wp\u0142yw na czas rozgrzewania i zapotrzebowanie na pami\u0119\u0107 RAM. Z APCu lub Redis korzystam tylko wtedy, gdy przynosi to korzy\u015bci aplikacji \u2013 mniejsza liczba modu\u0142\u00f3w zmniejsza powierzchni\u0119 ataku i ryzyko niekompatybilno\u015bci.<\/p>\n\n<h2>Wykorzystanie w agencjach i u dystrybutor\u00f3w<\/h2>\n<p>Rozdzielam konserwacj\u0119 od innowacji, sprawdzaj\u0105c najpierw stare projekty, a dopiero potem przeprowadzaj\u0105c ich ukierunkowan\u0105 migracj\u0119. W celu przeprowadzenia test\u00f3w prze\u0142\u0105czam poszczeg\u00f3lne konta na now\u0105 platform\u0119 w ramach test\u00f3w <strong>Wersja<\/strong>, mierz\u0119 czasy \u0142adowania i przegl\u0105dam logi b\u0142\u0119d\u00f3w. W ten spos\u00f3b minimalizuj\u0119 awarie i mog\u0119 wskaza\u0107 klientom konkretne dzia\u0142ania. R\u00f3wnolegle stosuj\u0119 ustawienia dla poszczeg\u00f3lnych witryn, aby sklep, strona docelowa i \u015brodowisko testowe korzysta\u0142y z optymalnego \u015brodowiska. Takie podej\u015bcie zmniejsza liczb\u0119 zg\u0142osze\u0144 do pomocy technicznej i zwi\u0119ksza <strong>Mo\u017cliwo\u015b\u0107 planowania<\/strong> dla aktualizacji.<\/p>\n\n<h2>Podr\u0119cznik migracji: z wersji 7.x do 8.x<\/h2>\n<p>W przypadku wi\u0119kszych aktualizacji post\u0119puj\u0119 zgodnie z list\u0105 kontroln\u0105: najpierw tworz\u0119 kopi\u0119 \u015brodowiska stagingowego i aktywuj\u0119 w niej docelow\u0105 wersj\u0119 (np. 8.2\/8.3). Nast\u0119pnie sprawdzam przestarza\u0142e elementy w dzienniku b\u0142\u0119d\u00f3w, tymczasowo w\u0142\u0105czam opcj\u0119 display_errors w \u015brodowisku stagingowym i korzystam z w\u0142asnych test\u00f3w sprawno\u015bci aplikacji. Krytyczne rozszerzenia, takie jak intl, mbstring, gd, imagick, sodium i pdo_mysql, testuj\u0119 osobno. Je\u015bli w gr\u0119 wchodzi Composer, od\u015bwie\u017cam pliki lock i upewniam si\u0119, \u017ce sprawdzanie zgodno\u015bci platformy pasuje do nowej wersji PHP. Dopiero gdy testy funkcjonalne, pami\u0119ci podr\u0119czne i zadania cron dzia\u0142aj\u0105 bez zarzutu, prze\u0142\u0105czam domen\u0119 produkcyjn\u0105. Na wypadek awarii mam przygotowany plan przywr\u00f3cenia poprzedniego stanu (poprzedni stan selektor\u00f3w, reset OPcache, uniewa\u017cnienie pami\u0119ci podr\u0119cznej).<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/dev_desk_cloudlinux_3521.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Najlepsze praktyki dla dostawc\u00f3w<\/h2>\n<p>Konsekwentnie w\u0142\u0105czam CageFS i testuj\u0119 selektor na stronach demonstracyjnych, zanim udost\u0119pni\u0119 t\u0119 funkcj\u0119. Ustawiam wersj\u0119 PHP dla ca\u0142ego systemu ostro\u017cnie, aby <strong>Domy\u015blne<\/strong> pozostaje bezpieczna, a klienci mog\u0105 elastycznie przechodzi\u0107 na wy\u017csz\u0105 lub ni\u017csz\u0105 wersj\u0119. W przypadku popularnych aplikacji podaj\u0119 jasne \u015bcie\u017cki wersjonowania, na przyk\u0142ad \u201eWordPress od wersji 8.1, sklepy od wersji 8.2\u201c, wraz z kr\u00f3tkimi uzasadnieniami. Dopuszczam wy\u0142\u0105cznie sensowne rozszerzenia i usuwam eksperymentalne modu\u0142y, kt\u00f3re mog\u0142yby powodowa\u0107 problemy. Ponadto utrzymuj\u0119 pakiety alt-php oraz poprawki Hardened PHP <strong>bie\u017c\u0105cy<\/strong>, aby usun\u0105\u0107 znane luki w zabezpieczeniach.<\/p>\n\n<h2>Zgodno\u015b\u0107 wed\u0142ug modu\u0142\u00f3w obs\u0142ugi: przegl\u0105d<\/h2>\n<p>Aby zapewni\u0107 prawid\u0142ow\u0105 konfiguracj\u0119, najpierw sprawdzam, kt\u00f3ry handler jest u\u017cywany w \u015brodowisku produkcyjnym i czy wsp\u00f3\u0142pracuje z CageFS. CGI, FastCGI i LSAPI zazwyczaj dzia\u0142aj\u0105 bardzo dobrze, podczas gdy DSO nie ma wi\u0119kszego sensu, poniewa\u017c pogarsza to izolacj\u0119. PHP-FPM mo\u017ce dzia\u0142a\u0107, ale wymaga dostosowania <strong>Profile<\/strong> oraz przejrzysty przydzia\u0142 proces\u00f3w dla ka\u017cdego konta. suPHP ma d\u0142ug\u0105 histori\u0119, ale cz\u0119sto dzia\u0142a powoli; na serwerach o du\u017cym nat\u0119\u017ceniu ruchu wol\u0119 korzysta\u0107 z LSAPI lub FCGI. Poni\u017csza tabela przedstawia skondensowany przegl\u0105d popularnych <strong>Handler<\/strong> oraz ich przydatno\u015b\u0107 za pomoc\u0105 selektora.<\/p>\n<table>\n  <thead>\n    <tr>\n      <th>Handler<\/th>\n      <th>Zgodno\u015b\u0107 z Selectorem<\/th>\n      <th>Kr\u00f3tka notatka<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>CGI (suexec)<\/td>\n      <td>Dobry<\/td>\n      <td>Prosty, izolowany; umiarkowana przepustowo\u015b\u0107, niezawodne wyodr\u0119bnianie b\u0142\u0119d\u00f3w.<\/td>\n    <\/tr>\n    <tr>\n      <td>FastCGI (mod_fcgid)<\/td>\n      <td>Bardzo dobry<\/td>\n      <td>Szybkie, z mo\u017cliwo\u015bci\u0105 sterowania dla ka\u017cdego konta; efektywne wykorzystanie pami\u0119ci podr\u0119cznej.<\/td>\n    <\/tr>\n    <tr>\n      <td>LiteSpeed\/LSAPI<\/td>\n      <td>Bardzo dobry<\/td>\n      <td>Wysoka wydajno\u015b\u0107, niskie op\u00f3\u017anienia; sprawdzona integracja z CageFS.<\/td>\n    <\/tr>\n    <tr>\n      <td>PHP-FPM<\/td>\n      <td>Cz\u0119\u015bciowo<\/td>\n      <td>Dzia\u0142a przy prawid\u0142owym przypisaniu; wymagana jest specjalna konfiguracja.<\/td>\n    <\/tr>\n    <tr>\n      <td>mod_php\/DSO<\/td>\n      <td>S\u0142aby<\/td>\n      <td>Brak izolacji; nie nadaje si\u0119 do CageFS\/Selector.<\/td>\n    <\/tr>\n    <tr>\n      <td>suPHP<\/td>\n      <td>Wystarczaj\u0105cy<\/td>\n      <td>Niezawodne, ale powolne; w przypadku starszych serwer\u00f3w to wystarczy, w pozosta\u0142ych przypadkach nale\u017cy zaplanowa\u0107 wymian\u0119.<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<h2>Rozszerzenia i biblioteki natywne: pu\u0142apki<\/h2>\n<p>Opr\u00f3cz modu\u0142\u00f3w PHP wa\u017cn\u0105 rol\u0119 odgrywaj\u0105 biblioteki systemowe. intl jest powi\u0105zane z wersjami ICU, a imagick z ImageMagick \u2013 je\u015bli pakiety nie s\u0105 ze sob\u0105 zgodne, brakuje funkcji lub dochodzi do awarii proces\u00f3w. Dbam o to, aby rozszerzenia alt-php by\u0142y instalowane sp\u00f3jnie z ich zale\u017cno\u015bciami i usuwam duplikaty. W przypadku zaszyfrowanych aplikacji starszego typu sprawdzam, czy dla wybranej wersji dost\u0119pne s\u0105 modu\u0142y \u0142aduj\u0105ce; w przypadku najnowszych wyda\u0144 PHP mog\u0105 one brakowa\u0107, co wymaga zastosowania wersji po\u015bredniej (np. 8.1 zamiast 8.3). Og\u00f3lna zasada brzmi: jak najmniej modu\u0142\u00f3w, tyle ile konieczne, a zmiany zawsze nale\u017cy dokumentowa\u0107.<\/p>\n\n<h2>Rozwi\u0105zywanie problem\u00f3w: typowe wzorce b\u0142\u0119d\u00f3w<\/h2>\n<p>Je\u015bli wydaje si\u0119, \u017ce ustawiona wersja jest ignorowana, najpierw sprawdzam CageFS i zainstalowane <strong>stara wersja PHP<\/strong>-pakiety. Je\u015bli panel nie wy\u015bwietla rozszerze\u0144, zazwyczaj brakuje pakiet\u00f3w lub lista dozwolonych blokuje ich wy\u015bwietlanie. Je\u015bli strona dzia\u0142a nieoczekiwanie wolno, sprawdzam rozmiary OPcache, list\u0119 rozszerze\u0144 i wyb\u00f3r handler\u00f3w. Brak uprawnie\u0144 do zapisu w katalogu tmp spowalnia sesje i przesy\u0142anie plik\u00f3w, dlatego jasno definiuj\u0119 \u015bcie\u017cki i uprawnienia. W przypadku b\u0142\u0119d\u00f3w 502\/504 zwi\u0119kszam na pr\u00f3b\u0119 warto\u015b\u0107 max_execution_time i ustalam realistyczne limity, zanim podejm\u0119 wi\u0119ksze <strong>Migracje<\/strong>-planuj\u0119 kolejne kroki.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/php-selector-serverraum-3927.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Monitorowanie i diagnostyka podczas pracy<\/h2>\n<p>Moje podej\u015bcie do obserwowalno\u015bci jest proste: dla ka\u017cdej witryny konfiguruj\u0119 czysty plik error_log i po zmianie wersji szczeg\u00f3lnie dok\u0142adnie monitoruj\u0119 pierwsze godziny dzia\u0142ania. W przypadku FPM\/LSAPI korzystam z opcji slow-log lub debugowania w fazach testowych, aby zidentyfikowa\u0107 w\u0105skie gard\u0142a. Na poziomie serwera monitoruj\u0119 limity LVE (CPU, RAM, IO, EP) i analizuj\u0119 szczyty obci\u0105\u017cenia \u2013 je\u015bli co\u015b regularnie osi\u0105ga limity, warto to zoptymalizowa\u0107 lub przej\u015b\u0107 na wi\u0119kszy pakiet. Za pomoc\u0105 niewielkich test\u00f3w obci\u0105\u017ceniowych (np. warmup\u00f3w, cron-seeds) gromadz\u0119 warto\u015bci por\u00f3wnawcze, dzi\u0119ki czemu w przypadku zg\u0142osze\u0144 mog\u0119 szybko ustali\u0107, czy przyczyn\u0105 jest aplikacja, handler, sie\u0107 czy limity.<\/p>\n\n<h2>Kr\u00f3tkie podsumowanie<\/h2>\n<p>Selektor PHP w CloudLinux zapewnia mi niezb\u0119dn\u0105 <strong>Wolno\u015b\u0107<\/strong>, aby dla ka\u017cdego konta lub witryny wybra\u0107 odpowiedni\u0105 wersj\u0119 PHP wraz z rozszerzeniami. Technologia ta opiera si\u0119 na LVE i CageFS, wykorzystuje \u201ealt-php\u201d oddzielone od systemu i uwzgl\u0119dnia istniej\u0105cy handler. Kto przestrzega tych wytycznych, zyskuje izolacj\u0119, przewidywaln\u0105 wydajno\u015b\u0107 i mniej zg\u0142osze\u0144 do pomocy technicznej. Ustawienia domy\u015blne utrzymuj\u0119 na konserwatywnym poziomie, pozostawiaj\u0105c u\u017cytkownikom okre\u015blon\u0105 swobod\u0119 dzia\u0142ania i dokumentuj\u0105c jasne \u015bcie\u017cki migracji. Dzi\u0119ki temu hosting pozostaje niezawodny, elastyczny i <strong>bezpieczny<\/strong> \u2013 zar\u00f3wno dla WordPressa, sklep\u00f3w internetowych, jak i indywidualnych projekt\u00f3w.<\/p>","protected":false},"excerpt":{"rendered":"<p>CloudLinux PHP Selector \u2013 wyja\u015bnienie: jak zarz\u0105dza\u0107 wersj\u0105 PHP na serwerze hostingowym, aktywowa\u0107 rozszerzenia i bezpiecznie dostosowywa\u0107 limity \u2013 idealne rozwi\u0105zanie dla nowoczesnych \u015brodowisk hostingu wsp\u00f3\u0142dzielonego.<\/p>","protected":false},"author":1,"featured_media":20995,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[676],"tags":[],"class_list":["post-21002","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server_vm"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"140","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"CloudLinux PHP Selector","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"20995","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/21002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/comments?post=21002"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/21002\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media\/20995"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=21002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=21002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=21002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}