Kif Tinstalla PHP 8.0 fuq Ubuntu 20.04/18.04


PHP huwa bla dubju wieħed mill-lingwi ta' programmar fuq in-naħa tas-server l-aktar użati. Hija l-lingwa tal-għażla meta tiżviluppa websajts dinamiċi u responsivi. Fil-fatt, pjattaformi CM popolari bħal WordPress, Drupal u Magento huma bbażati fuq PHP.

Fiż-żmien meta tfassal din il-gwida, l-aħħar verżjoni tal-PHP hija PHP 8.0. Ġie rilaxxat fis-26 ta 'Novembru, 2020. Jiftaħar b'karatteristiċi u ottimizzazzjonijiet ġodda bħal tipi ta' unjoni, argumenti msemmija, operatur sikur null, espressjoni ta 'logħba, JIT, u titjib fl-immaniġġjar tal-iżbalji u l-konsistenza.

Dan it-tutorja jimxik permezz tal-installazzjoni ta 'PHP 8.0 fuq Ubuntu 20.04/18.04.

Fuq din il-paġna

  • Żid ir-Repożitorju Ondřej Surý PPA fuq Ubuntu
  • Installa PHP 8.0 b'Apache fuq Ubuntu
  • Installa PHP 8.0 b'Nginx fuq Ubuntu
  • Installa PHP 8 Estensjonijiet f'Ubuntu
  • Ivverifika l-Installazzjoni ta' PHP 8 f'Ubuntu

PHP 7.4 hija l-verżjoni PHP default fir-repożitorji Ubuntu 20.04 fil-ħin tal-kitba ta 'dan it-tutorja. Biex tinstalla l-aħħar verżjoni tal-PHP, se nużaw ir-repożitorji Ondrej PPA. Dan ir-repożitorju fih diversi verżjonijiet PHP u estensjonijiet PHP.

Imma l-ewwel, ejja naġġornaw il-pakketti tas-sistema Ubuntu tiegħek u ninstallaw xi dipendenzi kif muri.

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install  ca-certificates apt-transport-https software-properties-common

Sussegwentement, żid il-PPA Ondrej.

$ sudo add-apt-repository ppa:ondrej/php

Meta tintalab, agħfas ENTER biex tipproċedi biż-żieda tar-repożitorju.

Sussegwentement, aġġorna r-repożitorji tas-sistema biex tibda tuża l-PPA.

$ sudo apt update

Jekk qed tħaddem is-server tal-web Apache, installa PHP 8.0 bil-modulu Apache kif muri.

$ sudo apt install php8.0 libapache2-mod-php8.0 

Sussegwentement, ibda mill-ġdid il-webserver Apache biex tippermetti l-modulu.

$ sudo systemctl restart apache2

Jekk trid tuża Apache webserver ma PHP-FPM, mexxi l-kmand hawn taħt biex tinstalla l-pakketti meħtieġa:

$ sudo apt install php8.0-fpm libapache2-mod-fcgid

Peress li PHP-FPM mhux attivat awtomatikament, ppermettih billi tinvoka l-kmandi li ġejjin:

$ sudo a2enmod proxy_fcgi setenvif
$ sudo a2enconf php8.0-fpm

Imbagħad erġa ibda l-webserver Apache biex il-bidliet jidħlu fis-seħħ.

$ sudo systemctl restart apache2

Jekk tagħżel li tuża PHP 8.0 bl-installazzjoni ta 'Nginx, l-iktar pass rakkomandat li tieħu huwa li tinstalla PHP-FPM biex tipproċessa fajls PHP.

Għalhekk, installa PHP u PHP-FPM billi tuża l-kmand li ġej:

$ sudo apt install php8.0-fpm

Is-servizz PHP-FPM għandu jibda awtomatikament. Tista' tivverifika dan kif muri:

$ sudo systemctl status php8.0-fpm

Biex Nginx jipproċessa fajls PHP, ikkonfigura l-blokk tas-server Nginx tiegħek billi taġġorna s-sezzjoni tas-server kif muri:

server {

   # ... some other code

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    }
}

Fl-aħħarnett, ibda mill-ġdid is-server tal-web Nginx biex il-bidliet jidħlu fis-seħħ.

$ sudo systemctl restart nginx

L-estensjonijiet PHP huma libreriji li jestendu l-funzjonalità tal-PHP. Dawn l-estensjonijiet jeżistu bħala pakketti u jistgħu jiġu installati kif ġej:

$ sudo apt install php8.0-[extension-name]

Pereżempju, l-eżempju hawn taħt jinstalla l-estensjonijiet SNMP, Memcached u MySQL.

$ sudo apt install php8.0-snmp php-memcached php8.0-mysql

Biex tikkonferma l-verżjoni tal-PHP installata, mexxi l-kmand:

$ php -v

Barra minn hekk, tista 'toħloq kampjun ta' fajl PHP fuq /var/www/html kif muri:

$ sudo vim /var/www/html/info.php

Paste l-linji li ġejjin u ssejvja l-fajl.

<?php

phpinfo();

?>

Fl-aħħarnett, immur fuq il-browser tiegħek u bbrawżja l-indirizz IP tas-server kif muri.

http://server-ip/info.php

Għandek tikseb il-paġna web murija.

Hija t-tama tagħna li issa tista 'tinstalla PHP 8.0 u tintegrah bil-kumdità ma' servers tal-web Apache jew Nginx. Ir-rispons tiegħek huwa milqugħ mill-aktar.