PHP to powszechnie używany język skryptowy po stronie serwera, przeznaczony do tworzenia stron internetowych, ale używany również jako język programowania ogólnego przeznaczenia. Jest szczególnie preferowany do tworzenia dynamicznych i interaktywnych stron internetowych. Zainstalowanie najnowszych wersji PHP, takich jak 8.3, 8.2 lub 8.1, zapewnia dostęp do najnowszych funkcji, ulepszeń wydajności i poprawek zabezpieczeń. W CentOS Stream 9 możesz łatwo zainstalować te wersje, korzystając z repozytorium Remi RPM, które jest dobrze znane z dostarczania aktualnych pakietów PHP.
Ten przewodnik przeprowadzi Cię przez proces włączania repozytorium Remi i instalowania najnowszych wersji PHP na CentOS Stream 9.
Zaimportuj Remi PHP RPM na CentOS
Aktualizowanie strumienia CentOS przed instalacją PHP
Ważne jest, aby zacząć od aktualizacji systemu CentOS Stream, aby upewnić się, że wszystkie istniejące pakiety są aktualne. Ten krok jest niezbędny dla stabilności i bezpieczeństwa systemu.
Otwórz terminal i wykonaj następujące polecenie, aby zaktualizować system:
sudo dnf upgrade --refresh
To polecenie odświeża bazę danych pakietów i aktualizuje wszystkie zainstalowane pakiety do najnowszych dostępnych wersji.
Importowanie repozytorium Remi PHP RPM
Repozytorium Remi PHP to repozytorium strony trzeciej, które oferuje najnowsze wersje PHP. Przed dodaniem repozytorium Remi należy zainstalować repozytorium EPEL, które udostępnia dodatkowe pakiety dla Enterprise Linux.
Po pierwsze, zalecane jest włączenie repozytorium CodeReady Linux Builder (CRB), choć jest to opcjonalne. Zapewnia dodatkowe narzędzia i biblioteki programistyczne. Włącz CRB za pomocą:
sudo dnf config-manager --set-enabled crb
Po włączeniu CRB zainstaluj repozytorium EPEL dla EL9, używając:
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
Na koniec zaimportuj repozytorium Remi PHP dla EL9:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
Włączanie repozytorium PHP Remi w strumieniu CentOS
Lista dostępnych modułów PHP
Przed instalacją PHP koniecznie sprawdź dostępne wersje PHP w repozytorium Remi. Ten krok pomoże Ci podjąć świadomą decyzję o tym, którą wersję zainstalować.
Użyj następującego polecenia, aby wyświetlić listę wszystkich modułów PHP:
dnf module list php
To polecenie wyświetla wszystkie wersje PHP dostępne w repozytorium Remi. To kluczowy krok, aby mieć pewność, że wybierzesz wersję, która najlepiej odpowiada Twoim wymaganiom.
Importowanie klucza GPG do repozytorium Remi
Po wyświetleniu monitu musisz potwierdzić import klucza GPG do repozytorium Remi. Ten krok jest niezbędny ze względów bezpieczeństwa, ponieważ weryfikuje autentyczność pakietów, które zamierzasz zainstalować. Wpisz „Y”, gdy zostaniesz poproszony o kontynuowanie importu.
Aktywacja wybranej wersji PHP
Po potwierdzeniu dostępnych wersji PHP możesz włączyć konkretną wersję, która odpowiada Twoim potrzebom. Wskazane jest, aby wybrać stabilną i dobrze obsługiwaną wersję PHP dla swoich projektów.
Aby włączyć konkretną wersję PHP z repozytorium Remi, użyj następujących poleceń:
sudo dnf module enable php:remi-8.3 -y
sudo dnf module enable php:remi-8.2 -y
sudo dnf module enable php:remi-8.1 -y
Każde polecenie aktywuje inną wersję PHP z repozytorium Remi. Wybierz polecenie odpowiadające wersji, którą chcesz zainstalować. Flaga „-y” w tych poleceniach oznacza automatyczne potwierdzenie instalacji, usprawniając proces.
Zainstaluj PHP 8.3, 8.2 lub 8.1 w CentOS Stream
Wybór serwera WWW do instalacji PHP
Wybór odpowiedniego serwera WWW jest kluczowym krokiem w konfiguracji PHP. CentOS Stream obsługuje zarówno Apache, jak i Nginx, każdy wymagający różnych pakietów PHP.
Instalacja Apache (httpd) PHP
Dla tych, którzy używają Apache jako serwera WWW, poniższe polecenie instaluje PHP wraz z interfejsem wiersza poleceń PHP (CLI), który jest niezbędny do uruchamiania skryptów PHP z wiersza poleceń:
sudo dnf install php php-cli -y
Instalacja PHP Nginx
Jeśli używasz Nginx, musisz zainstalować PHP FastCGI Process Manager (FPM) wraz z PHP CLI. PHP-FPM to alternatywna implementacja PHP FastCGI, która jest bardzo wydajna w przypadku witryn o dużym ruchu:
sudo dnf install php-fpm php-cli -y
Weryfikacja instalacji PHP
Po instalacji ważne jest, aby upewnić się, że PHP jest poprawnie zainstalowane. Uruchom następujące polecenie, aby sprawdzić zainstalowaną wersję PHP:
php -v
To polecenie wyświetla aktualną wersję PHP, weryfikując pomyślną instalację.
Instalowanie popularnych rozszerzeń PHP
Aby zwiększyć funkcjonalność PHP, może być konieczne zainstalowanie dodatkowych rozszerzeń. Poniższe polecenie instaluje powszechnie używane rozszerzenia PHP, które są niezbędne dla różnych platform CMS i potrzeb programistycznych:
sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache
Zaleca się przejrzenie i pominięcie wszelkich rozszerzeń, które nie są potrzebne do Twojej konfiguracji.
Przeglądanie załadowanych modułów PHP
Aby sprawdzić aktualnie załadowane moduły PHP, wykonaj:
php -m
Aby utrzymać optymalną wydajność systemu, zaleca się regularne monitorowanie i czyszczenie niepotrzebnych modułów.
Instalowanie gałęzi rozwojowej PHP
W przypadku specyficznych wymagań programistycznych możesz potrzebować gałęzi programistycznej PHP. Zainstaluj go za pomocą:
sudo dnf install php-devel
Uwaga: ta instalacja wprowadza wiele zależności. Kontynuuj tylko wtedy, gdy istnieje konkretna potrzeba w Twoim środowisku programistycznym PHP.
Dodawanie narzędzi programistycznych PHP
Aby uzyskać zaawansowane funkcje programistyczne, w tym debugowanie, zainstaluj dodatkowe narzędzia, korzystając z:
sudo dnf install php-xdebug php-pcov
Narzędzia te są niezbędne do debugowania i analizy pokrycia kodu w PHP, ale należy zachować ostrożność ze względu na dodatkowe zależności, które wprowadzają.
Konfigurowanie użytkownika Nginx dla PHP-FPM w strumieniu CentOS
Edytowanie konfiguracji PHP-FPM dla Nginx
W CentOS Stream domyślny użytkownik PHP-FPM jest ustawiony na „Apache”, co nie jest kompatybilne z konfiguracjami Nginx. Aby zoptymalizować PHP-FPM dla Nginx, konieczna jest zmiana konfiguracji.
Dostęp do konfiguracji PHP-FPM
Zacznij od otwarcia pliku konfiguracyjnego PHP-FPM. Ten plik zawiera ustawienia specyficzne dla interakcji PHP-FPM z serwerem internetowym. Użyj następującego polecenia, aby edytować plik www.conf:
sudo nano /etc/php-fpm.d/www.conf
To polecenie uruchamia edytor tekstu Nano z plikiem konfiguracyjnym PHP-FPM.
Modyfikowanie ustawień użytkownika i grupy
W pliku konfiguracyjnym znajdź linie określające użytkownika i grupę. Domyślnie są one ustawione na „Apache”. Zmień użytkownika i grupę na „Nginx”, aby dostosować usługę PHP-FPM do Nginx:
; Użytkownik/grupa procesów Uniksa; Uwaga: użytkownik jest obowiązkowy. Jeśli grupa nie jest ustawiona, domyślna grupa użytkownika ; zostanie użyty. ; RPM: Apache Wybrano możliwość dostępu do niektórych katalogów jako httpd user = nginx ; RPM: Zezwól grupie na zapis w katalogu dziennika. grupa = nginx
Oto działające przykłady wizualne:
Zapisywanie i zamykanie pliku konfiguracyjnego
Po wprowadzeniu zmian zapisz plik, naciskając CTRL+O, a następnie wyjdź za pomocą CTRL+X. Ta czynność zapisuje modyfikacje i zamyka edytor Nano.
Ponowne uruchamianie usługi PHP-FPM
Aby zastosować zmiany, zrestartuj usługę PHP-FPM za pomocą:
sudo systemctl restart php-fpm
To polecenie gwarantuje, że PHP-FPM zacznie działać w ramach użytkownika i grupy Nginx, zapewniając kompatybilność i zwiększone bezpieczeństwo konfiguracji serwera WWW Nginx w CentOS Stream.
Przykładowy kod bloku serwera Nginx PHP-FPM
Konfigurowanie bloku serwera Nginx do przetwarzania PHP
Aby włączyć przetwarzanie PHP w Nginx na CentOS Stream, należy zmodyfikować blok serwera w pliku konfiguracji Nginx. Poniższy przykład pokazuje niezbędną konfigurację do obsługi plików PHP. Ta konfiguracja wymaga określenia bloku lokalizacji PHP.
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Kod ten zapewnia, że Nginx poprawnie obsługuje pliki PHP, przekierowując je do procesora PHP-FPM. Oto szybki podział:
- lokalizacja ~ .php$: Ta dyrektywa mówi Nginxowi, aby zastosował następujące reguły do każdego pliku kończącego się na .php. Tylda ~ wskazuje, że jest to dopasowanie wyrażenia regularnego.
- try_files $uri =404: Ta linia sprawdza, czy plik PHP istnieje pod określonym URI. Jeśli tak się nie stanie, Nginx zwróci błąd 404. Jest to środek bezpieczeństwa zapobiegający nieautoryzowanemu wykonaniu skryptu.
- fastcgi_pass unix:/run/php-fpm/www.sock;: Ta dyrektywa określa gniazdo, na którym nasłuchuje usługa PHP-FPM. W tym przypadku Nginx przekazuje żądania PHP do procesu PHP-FPM poprzez gniazdo /run/php-fpm/www.sock.
- fastcgi_index indeks.php;: Ustawia indeks.php jako domyślny skrypt wykonywany podczas uzyskiwania dostępu do katalogu.
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;: Ta linia ustawia parametr SCRIPT_FILENAME, który jest niezbędny dla PHP-FPM do znalezienia pliku skryptu w systemie plików. Łączy katalog główny dokumentu z nazwą skryptu.
- include fastcgi_params;: Obejmuje domyślne parametry FastCGI dostarczone przez Nginx. Są to standardowe ustawienia wymagane do prawidłowego działania PHP-FPM.
Taka konfiguracja zapewnia, że Nginx poprawnie obsługuje żądania PHP, przekazując je do usługi PHP-FPM w celu przetworzenia, co jest kluczowym krokiem w przypadku uruchamiania witryn i aplikacji opartych na PHP na serwerze Nginx.
Weryfikacja konfiguracji Nginx
Po zaktualizowaniu bloku serwera sprawdź konfigurację Nginx pod kątem błędów składniowych za pomocą następującego polecenia:
sudo nginx -t
Przykładowe dane wyjściowe potwierdzające pomyślne sprawdzenie składni:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ten krok gwarantuje, że konfiguracja Nginx będzie wolna od błędów składniowych i gotowa do wdrożenia.
Ponowne uruchamianie usługi Nginx
Aby zastosować zmiany w konfiguracji PHP-FPM, zrestartuj usługę Nginx:
sudo systemctl restart nginx
To ponowne uruchomienie powoduje, że zmiany zaczynają obowiązywać, umożliwiając Nginxowi przetwarzanie plików PHP przy użyciu zaktualizowanej konfiguracji bloku serwera.
Wniosek
Instalując PHP poprzez repozytorium Remi RPM na CentOS Stream 9, masz pewność, że Twój system jest wyposażony w najnowsze stabilne wersje PHP, w tym 8.3, 8.2 i 8.1. Taka konfiguracja zapewnia zwiększoną wydajność, dostęp do najnowszych funkcji i ulepszone bezpieczeństwo aplikacji internetowych. Regularna aktualizacja PHP poprzez repozytorium Remi zapewni bezpieczeństwo Twojego systemu i jego aktualność dzięki najnowszym zmianom w PHP. Ciesz się elastycznością i mocą, jaką oferuje PHP do tworzenia i utrzymywania dynamicznych aplikacji internetowych.