Ki jan yo enstale PHP 8.1 sou Fedora 35

PHP 8.1 se yon aktyalizasyon enpòtan nan lang PHP ki te pibliye nan dat 25 novanm 2021. Sa a se yon ajou estanda nan fiti soti nan lage PHP 8.0 ki egziste deja. Nouvo PHP 8.1 pote enum, fib, kalite pa janm retounen, konstan klas final, kalite entèseksyon, ak pwopriyete lekti sèlman pami lis long 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.

reklam

Kondisyon

  • OS rekòmande: FedoraLinux 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.

Enstale PHP 8.1 Remi Repository

Kounye a, PHP 8.1 pa prezante nan Fedora 35. Sepandan, sa ka fasil pou rezoud lè w enstale ak pèmèt Remi Repository la, 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
reklam

Sitiyasyon - Retire Enstalasyon PHP ki deja egziste

Pou itilizatè ki vle enstale PHP 8.1 men yo deja enstale PHP oswa PHP-FPM, retire vèsyon anvan an. Pou egzanp, retire PHP 8.0 pou PHP 8.1.

Asire ou ke ou fè bak nenpòt dosye konfigirasyon.

sudo dnf remove php php-fpm -y

Lè sa a, retire rès ekstansyon pake yo.

sudo dnf remove php* -y

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

sudo dnf module list reset php -y

Koulye a, ou ka kontinye nan pwochen pati nan leson patikilye a.

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

Yo pral mande w pou w enpòte kle GPG pou depo Remi a. Tape (Y) pou kontinye si ou rankontre li.

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

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:

Itilizatè Apache (HTTPD):

sudo dnf install php

Itilizatè Nginx:

sudo dnf install php-fpm

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-imap 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

Remake byen, retire opsyon ou pa vle sa a se opsyonèl. Li trè rekòmande pou sèlman enstale epi kenbe modil ou bezwen nan yon estanda pèfòmans ak sekirite.

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.

Anfen, sèvi ak lòd sa a pou nenpòt moun ki enterese nan enstale branch devlopman an.

sudo dnf install php-devel -y

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 default sou Fedora, sèvis PHP-FPM fèt pou yo 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 moun sèvè {} blòk ki trete dosye PHP ki bezwen an kote ~ .php$ te ajoute.

    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;
    }

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

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
2 kòmantè
Aliye komantè
Wè tout kòmantè
Pyè
Guest
Madi, 21 desanm 2021 4:22 am

Mwen devine kòmandman an "dnf module list reset php -y" pa bon. 'lis' pwobableman pa ta dwe la.

adplus-piblisite
2
0
Ta renmen panse ou, tanpri fè kòmantè.x
()
x