Ki jan yo enstale PHP 8.1 sou Rocky Linux 8

PHP 8.1 se yon aktyalizasyon enpòtan nan lang PHP a ki pral "ofisyèlman" lage nan dat 25 novanm 2021. Sa a se yon amelyorasyon estanda ki pral pi devan soti nan lage PHP 8.0 ki deja egziste ak nouvo PHP 8.1 la ap pote enums, fib, pa janm retounen kalite, final konstan klas, kalite entèseksyon, pwopriyete lekti sèlman pami lis la long nan nouvo karakteristik ak chanjman.

Nan leson patikilye sa a, ou pral aprann ki jan yo enpòte Modil REMI a epi enstale PHP 8.1 sou sistèm Rocky Linux ou a.

Kondisyon

  • OS rekòmande: Rocky Linux 8.+.
  • Kont itilizatè: Yon kont itilizatè ki gen aksè sudo oswa rasin.

Mizajou sistèm operasyon

Mete ajou ou Rocky linux sistèm operasyon pou asire tout pakè ki egziste deja yo ajou:

sudo dnf upgrade --refresh -y

Tutorial la pral sèvi ak la sudo kòmand ak sipoze ou gen estati sudo.

Pou verifye estati sudo sou kont ou:

sudo whoami

Egzanp pwodiksyon ki montre estati sudo:

[joshua@rockylinux ~]$ sudo whoami
root

Pou mete kanpe yon kont sudo ki deja egziste oswa nouvo, vizite leson patikilye nou an sou Ki jan yo ajoute yon itilizatè nan Sudoers sou Rocky Linux.

Pou itilize kont rasin, sèvi ak lòd sa a ak modpas rasin lan pou konekte.

su
reklam

Enstale PHP 8.1 Remi Repository

Kounye a, PHP 8.1 pa prezante nan AppStream Rocky Linux la, paske li toujou relativman nouvo epi li poko filtre chèn nan nan depo Rhel yo. Sepandan, ou ka enstale PHP soti nan (Remi) depo, yon depo twazyèm-pati gratis pou itilize ki deplwaye dènye PHP 8.1 bati yo.

Premye travay la se enstale (EPEL) depo, ki vle di (Pakè siplemantè pou Enterprise Linux). Pou itilizatè ki pi nouvo yo Rhel ak Rocky Linux, EPEL gen pakè lojisyèl ki pi souvan itilize pou Enterprise Linux.

Pou enstale EPEL, sèvi ak sa ki annapre yo (dnf) lòd tèminal:

sudo dnf install epel-release

Egzanp pwodiksyon:

Ki jan yo enstale PHP 8.1 sou Rocky Linux 8

Kalite "Y," Lè sa a, peze la "ENTRE KLE" kontinye ak enstalasyon an.

Kounye a ke ou te ajoute repozitwa EPEL la, pèmèt (Repozitwa Remi) avèk bagay sa yo:

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

Egzanp pwodiksyon:

Ki jan yo enstale PHP 8.1 sou Rocky Linux 8

Kalite "Y," Lè sa a, peze la "ENTRE KLE" kontinye ak enstalasyon an.

Apre sa, sèvi ak (dnf) lòd pou mete ajou lis depo ou a:

sudo dnf update

Ou pral remake yon demann nan tèminal ou a sou enpòte a (kle GPG) pou depo Remi a.

Egzanp:

Ki jan yo enstale PHP 8.1 sou Rocky Linux 8

Kalite "Y," Lè sa a, peze la "ENTRE KLE" kontinye ak enpòte kle GPG la epi ranpli enstalasyon an.

Remake byen, ou pral rapid x2 plis fwa pou tape "Y" pou enpòte plis GPG kle. Sa a se byen fè.

Pèmèt PHP 8.1 (Remi) Repository

PHP 7.2 se chwa PHP default pou enstalasyon estanda sou Rhel/Rocky Linux ak depo Remi a. Yon konsèy rapid se sèvi ak la (lis php) kòmand pou wè opsyon ki disponib ak default la.

Kòmandman lis modil dnf sa a ka fè sa:

sudo dnf module list php

Ou pral jwenn pwodiksyon sa a kòm pi ba a. Remake byen la (D) tag pou PHP default yo dwe enstale:

Ki jan yo enstale PHP 8.1 sou Rocky Linux 8

Kòm ou ka wè pi wo a, la (D) tag se akote PHP 7.2, ke w ap bezwen reset ak chanje pou enstale PHP 8.1 sou Rocky Linux.

Reyajiste lis PHP a fasil ak lòd sa a:

sudo dnf module list reset php

Apre sa, pèmèt PHP 8.1 ak lòd sa a:

sudo dnf module enable php:remi-8.1

Egzanp pwodiksyon:

Ki jan yo enstale PHP 8.1 sou Rocky Linux 8
reklam

Enstale PHP 8.1

Kounye a ke ou te ajoute Remi PHP repozitwa a ak pèmèt PHP 8.1 yo dwe vèsyon an default sou sistèm Rocky Linux ou a, ou ka enstale PHP 8.1 ak lòd sa a:

sudo dnf install php

Egzanp pwodiksyon:

Ki jan yo enstale PHP 8.1 sou Rocky Linux 8

Kalite "Y," Lè sa a, peze la "ENTRE KLE" kontinye ak enstalasyon an.

Remake byen, yo pral mande w pou plis enpòtasyon kle GPG.

Si ou ta renmen enstale ekstansyon ki pi souvan itilize pou PHP 8.1, sèvi ak lòd sa a:

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

Remake byen, retire opsyon ou pa vle sa a se opsyonèl.

Egzanp pwodiksyon:

Ki jan yo enstale PHP 8.1 sou Rocky Linux 8

Kalite "Y," Lè sa a, peze la "ENTRE KLE" kontinye ak enstalasyon an.

Kounye a ke ou te enstale PHP 8.1 ak ekstansyon yo, tcheke vèsyon an ak lòd sa a:

php -v

Egzanp pwodiksyon:

Ki jan yo enstale PHP 8.1 sou Rocky Linux 8

PHP-FPM Enstalasyon PHP 8.1

Kontrèman ak enstalasyon PHP-FPM sou Debian/Ubuntu ki sèvi ak (www-done) itilizatè, sa a se pa ka a ak enstalasyon fanmi RHEL. Pa defo sou AlmaLinux, sèvis PHP-FPM fèt pou kouri (Apache) itilizatè a, ki pa kòrèk depi n ap itilize Nginx, e sa a te bezwen korije.

Premyèman, louvri sa yo (www.conf) dosye konfigirasyon:

sudo nano /etc/php-fpm.d/www.conf

Apre sa, ranplase a (Apache) itilizatè ak gwoup ak la (Nginx) itilizatè ak gwoup:

Ki jan yo enstale PHP 8.0 sou Rocky Linux 8

Pou sove, peze (CTRL+O) Lè sa a, sòti (CTRL+X).

Koulye a, ou pral twò rechaje oswa rekòmanse sèvis PHP-FPM ou a:

sudo systemctl restart php-fpm

Nginx Konfigirasyon

Blòk sèvè Nginx bezwen egzanp sa a anba a pou Nginx trete fichye PHP yo.

Anba a, egzanp pou tout blòk sèvè ki trete dosye PHP ki bezwen kote ~ .php$ te ajoute.

server {
 # … some other code
 # Pass the php scripts to FastCGI server specified in upstream declaration.
	location ~ \.php(/|$) {
		include fastcgi.conf;
                fastcgi_pass unix:/run/php-fpm/www.sock;
		fastcgi_split_path_info ^(.+\.php)(/.*)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
		fastcgi_param DOCUMENT_ROOT $realpath_root;
		try_files $uri $uri/ /app.php$is_args$args;
		fastcgi_intercept_errors on;	
	}
}

Teste Nginx pou asire w ke ou pa gen okenn erè ak ajisteman ki fèt ak kòd ki anwo a; antre sa ki annapre yo.

sudo nginx -t

Egzanp pwodiksyon:

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

Rekòmanse sèvis Nginx pou enstalasyon an fini.

sudo systemctl restart nginx
reklam

Kòmantè ak konklizyon

Nan leson patikilye a, ou te aprann ki jan yo enstale PHP 8.1 ak konfigirasyon ki jan yo sèvi ak li ak Apache ak Nginx. PHP 8.1 se enteresan. Sepandan, nan moman aktyèl la, li toujou soti nan beta epi li pa konsidere kòm ki estab, tankou 8.0 oswa ansyen ki estab 7.4 la, kidonk pran prekosyon ou ka jwenn ke anpil nan lojisyèl pi renmen ou tankou WordPress oswa Plugins / Tèm pou lojisyèl CMS ka konfli. jiskaske devlopè yo ka mete ajou.

Fè kèk rechèch, prepare, epi fè PHP 7.4 oswa 8.0 enstale epi pare pou ranplase si nenpòt bagay ale mal lè w ap fè chanjman an. Vèsyon ki estab tankou 8.0 yo toujou aktivman devlope, ak pakè yo pouse ansanm ak pakè 8.1 yo.

Ban-m pran abònman
Notifye nan
0 kòmantè
Aliye komantè
Wè tout kòmantè
0
Ta renmen panse ou, tanpri fè kòmantè.x