Ki jan yo enstale PHP 8.1 sou Fedora 35

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 Fedora 35 ou a.

Kondisyon

  • OS rekòmande: Fedora Linux 35
  • Kont itilizatè: Yon kont itilizatè ki gen aksè sudo oswa rasin.

Mizajou sistèm operasyon

Mete ajou ou Feutr 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@fedora ~]$ sudo whoami
root

Pou mete kanpe yon kont sudo ki deja egziste oswa nouvo, vizite leson patikilye nou an sou Ajoute yon itilizatè nan Sudoers sou Fedora.

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

su

Enstale Depandans obligatwa

Anvan ou kontinye ak enstalasyon an, kouri lòd sa a pou enstale oswa tcheke si pake dnf-plugins-core enstale sou Desktop Fedora ou a.

sudo dnf install dnf-plugins-core -y

Pa default, sa a ta dwe enstale.


reklam


Enstale PHP 8.1 Remi Repository

Kounye a, PHP 8.1 pa prezante nan Fedora 35, sepandan sa ka fasilman fikse ak enstale ak pèmèt Remi Repository la ki se yon depo gratis ak ki estab YUM/DNF sitou pou pil PHP a. Li gen pakè pou dènye vèsyon PHP yo.

Pou enstale enpòte ak enstale remi repo a, sèvi ak sa ki annapre yo (dnf) lòd tèminal:

sudo dnf install http://rpms.remirepo.net/fedora/remi-release-35.rpm

Apre sa, verifye enstalasyon an.

dnf repolist | grep remi

Egzanp pwodiksyon:

remi-modular                  Remi's Modular repository - Fedora 35 - x86_64

Pèmèt PHP 8.1 (Remi) Repository

PHP 8.0 se chwa PHP default pou enstalasyon estanda Fedora 35.

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

Remake byen, yo pral mande w pou enpòte kle GPG pou depo Remi a. Kalite (Y) kontinye si ou rankontre li.

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

sudo dnf module list reset php -y

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 Fedora 35

reklam


Enstale PHP 8.1 sou Fedora

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 Fedora 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 Fedora 35

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.

Egzanp:

Ki jan yo enstale PHP 8.1 sou Fedora 35

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

Opsyonèlman, 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-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 Fedora 35

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 Fedora 35

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.1 sou Fedora 35

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