Jak zainstalować PHP na Rocky Linux 9/8

PHP to popularny język skryptowy ogólnego przeznaczenia, szczególnie przydatny do tworzenia stron internetowych. Jest szybki, elastyczny i pragmatyczny, obsługuje wszystko, od blogów po najpopularniejsze strony internetowe na świecie. PHP oferuje szeroką obsługę różnych baz danych, co czyni go niezbędnym narzędziem do tworzenia skryptów po stronie serwera.

Poniższy przewodnik zademonstruje kroki instalacji PHP na Rocky Linux 9 lub 8 za pomocą poleceń wiersza poleceń. Metoda instalacji polega na użyciu repozytorium Remi RPM dla najnowszych stabilnych wersji PHP 8.1, 8.2 i 8.3.

Importuj repozytorium Remi PHP RPM

Zaktualizuj Rocky Linux przed instalacją PHP

Rozpocznij od aktualizacji systemu Rocky Linux, aby przygotować się do instalacji PHP. Otwórz terminal i wpisz:

sudo dnf upgrade --refresh

Importuj repozytorium PHP Remi

Konfiguracja repozytorium EPEL

EPEL (Extra Packages for Enterprise Linux) jest kluczowy dla dodatkowych pakietów oprogramowania w Rocky Linux. Poniżej znajdują się dwie opcje instalacji EPEL na Rocky Linux dla najnowszej wersji EL9 lub EL8.

Zaimportuj EPEL dla Rocky Linux 9

Włącz CRB

CRB zapewnia dostęp do większej liczby narzędzi programistycznych. Używać:

sudo dnf config-manager --set-enabled crb
Zainstaluj repozytoria EPEL

Aby uzyskać najnowsze wydania EPEL dla Rocky Linux 9:

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

Dołącz repozytorium Remi zaprojektowane dla EL 9:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

Zaimportuj EPEL dla Rocky Linux 8

Włącz repozytorium PowerTools

PowerTools jest niezbędny dla narzędzi programistycznych PHP.

sudo dnf config-manager --set-enabled powertools
Włącz EPEL dla Rocky Linux 8

Zainstaluj repozytoria EPEL dla Rocky Linux 8:

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm
Importuj repozytorium Remi EL 8

Po zainstalowaniu EPEL zaimportuj Remi RPM zawierający PHP dla EL 8:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

Włącz PHP (8.x) z repozytorium Remi

Weryfikacja wersji PHP

Zacznij od potwierdzenia dostępnych wersji PHP w repozytorium Remi. Dzięki temu masz dostęp do żądanej wersji PHP.

Wykonaj w terminalu:

dnf module list php

Jeśli pojawi się monit, zaimportuj klucz GPG do repozytorium Remi, wpisując (Y).

Wybieranie wersji PHP

Włącz PHP 8.3

Aby zainstalować PHP 8.3, stabilną i najnowszą wersję, użyj:

sudo dnf module enable php:remi-8.3 -y

Włącz PHP 8.2

Dla PHP 8.2, odpowiednie dla aplikacji wymagających tej konkretnej wersji:

sudo dnf module enable php:remi-8.2 -y

Włącz PHP 8.1

Aby włączyć PHP 8.1, idealny pod kątem kompatybilności z niektórymi aplikacjami:

sudo dnf module enable php:remi-8.1 -y

Zakończ instalację PHP

Instalowanie PHP dla obsługi Apache lub Nginx

Po włączeniu repozytorium Remi PHP możesz zainstalować PHP dostosowane do potrzeb Twojego serwera WWW, Apache lub Nginx.

Instalacja Apache (httpd) PHP

sudo dnf install php php-cli -y

Instalacja PHP Nginx

sudo dnf install php-fpm php-cli -y

Weryfikacja instalacji PHP

Potwierdź instalację PHP, uruchamiając:

php -v

Instalacja rozszerzeń PHP

Zainstaluj niezbędne rozszerzenia PHP w zależności od potrzeb projektu. Unikaj instalowania wszystkich rozszerzeń, aby zachować optymalną wydajność i bezpieczeństwo.

Standardowa instalacja

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

Uproszczona instalacja

W przypadku polecenia instalacji kompaktowej:

sudo dnf install php-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,json,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}

Teraz opiszmy, co robi każde z tych rozszerzeń PHP:

  • php-cli: Interfejs wiersza poleceń dla PHP, pomocny w uruchamianiu skryptów PHP w powłoce.
  • php-fpm: Menedżer procesów FastCGI, przydatny do obsługi i obsługi żądań PHP.
  • php-curl: Umożliwia łączenie się i komunikację z różnymi typami serwerów i protokołów.
  • php-mysqlnd: Natywny sterownik MySQL, używany do połączeń z bazą danych MySQL.
  • php-gd: Graphics Draw, przydatny do tworzenia plików graficznych i manipulowania nimi.
  • php-opcache: Opcode Cache, używany do przyspieszenia wykonywania PHP.
  • php-zip: Umożliwia pracę z archiwami zip.
  • php-intl: Rozszerzenie internacjonalizacji do pracy z międzynarodowymi zestawami znaków i ustawieniami regionalnymi.
  • php-common: Wspólne pliki i ustawienia używane przez wiele modułów PHP.
  • php-bcmath: Kalkulator binarny umożliwia dowolną precyzję matematyki.
  • php-imagick: Zapewnia metody tworzenia i modyfikowania obrazów przy użyciu biblioteki ImageMagick.
  • php-xmlrpc: Umożliwia utworzenie serwera XML-RPC i ułatwia wysyłanie żądań XML-RPC.
  • php-json: Rozszerzenie JSON (JavaScript Object Notation) do kodowania i dekodowania danych JSON.
  • php-readline: Umożliwia odczytanie linii danych z terminala.
  • php-memcached: Zapewnia szybkie buforowanie obiektów w pamięci rozproszonej.
  • php-redis: Rozszerzenie PHP do współpracy z Redis.
  • php-mbstring: Ciąg wielobajtowy do obsługi ciągów innych niż ASCII.
  • php-apcu: APC User Cache, rozszerzenie pamięci podręcznej przestrzeni użytkownika oparte na APC.
  • php-xml: Parser XML do analizowania dokumentów XML.
  • php-dom: Model obiektowy dokumentu, umożliwiający manipulowanie dokumentami XML w sposób obiektowy.
  • php-memcache: Zapewnia wygodny, proceduralny i obiektowy interfejs dla memcached.
  • mydło php: Używany do pisania serwerów i klientów SOAP.
  • php-ldap: Lekki protokół dostępu do katalogów używany do uzyskiwania dostępu do informacji katalogowych i zarządzania nimi.
  • php-pdo: PHP Data Objects, warstwa dostępu do bazy danych zapewniająca jednolitą metodę dostępu do wielu baz danych.

Możesz użyć poniższego polecenia, aby w dowolnym momencie wyświetlić załadowane moduły.

php -m

W celu zapewnienia wydajności zalecane jest regularne monitorowanie i usuwanie niepotrzebnych modułów.

Instalowanie narzędzi programistycznych PHP

W celach programistycznych zainstaluj gałąź programistyczną PHP i narzędzia do debugowania:

Oddział Rozwoju PHP

sudo dnf install php-devel

Narzędzia do debugowania PHP

sudo dnf install php-xdebug php-pcov

Należy pamiętać, że zainstalowanie tej wersji spowoduje wiele zależności i nie jest to zalecane, chyba że masz taką potrzebę w rozwoju PHP lub masz jakieś specjalne wymagania.

Skonfiguruj użytkownika PHP-FPM Nginx w Rocky Linux

Dostosowywanie PHP-FPM dla Nginx

Dystrybucje oparte na RHEL, takie jak Rocky Linux, domyślnie używają użytkownika „Apache” dla PHP-FPM, co nie jest odpowiednie dla konfiguracji Nginx. Aby zapewnić optymalne działanie z Nginx, konieczna jest modyfikacja tego.

Edycja konfiguracji PHP-FPM

Otwórz plik konfiguracyjny

Uzyskać dostęp do www.conf plik do edycji:

sudo nano /etc/php-fpm.d/www.conf
Zmodyfikuj ustawienia użytkownika i grupy

Zmień użytkownika i grupę Apache na Nginx w pliku.

Modyfikacja posta:

Zapisz zmiany, naciskając (CTRL+O), a następnie wyjdź za pomocą (CTRL+X).

Uruchom ponownie usługę PHP-FPM

Po zmodyfikowaniu konfiguracji zrestartuj PHP-FPM, aby zastosować zmiany:

sudo systemctl restart php-fpm

Przykładowy kod bloku serwera Nginx PHP-FPM

Konfiguracja Nginx do przetwarzania PHP

Aby Nginx mógł obsługiwać pliki PHP, blok serwera musi być poprawnie skonfigurowany. Poniższy przykład ilustruje niezbędną konfigurację w pliku server{} blok do przetwarzania plików PHP.

Konfiguracja Nginx PHP-FPM
    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;
    }

Sprawdzanie konfiguracji Nginx

Po zaktualizowaniu konfiguracji sprawdź ją, aby upewnić się, że nie ma błędów składniowych.

sudo nginx -t

Oczekiwane dane wyjściowe powinny potwierdzić poprawność konfiguracji:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ponowne uruchamianie usługi Nginx

Aby zastosować zmiany, uruchom ponownie usługę Nginx:

sudo systemctl restart nginx

To ponowne uruchomienie jest niezbędne do wprowadzenia zmian i umożliwienia Nginxowi rozpoczęcia przetwarzania plików PHP z nową konfiguracją.

Wniosek

W porządku, to kończy naszą podróż! Pomyślnie skonfigurowaliśmy PHP na Rocky Linux, dostosowując go do Apache lub Nginx i dostrajając PHP-FPM w celu uzyskania optymalnej wydajności. Pamiętaj, że regularne sprawdzanie modułów i konfiguracji PHP zapewnia płynne działanie. I nie zapomnij o ponownym uruchomieniu usług po wprowadzeniu jakichkolwiek zmian.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz