Bii o ṣe le Fi PHP 8.0 sori Ubuntu 20.04/18.04


PHP jẹ jiyan ọkan ninu awọn ede siseto olupin ẹgbẹ ti o lo julọ julọ. O jẹ ede ti o yan nigbati o ndagbasoke awọn oju opo wẹẹbu ti o ni agbara ati idahun. Ni otitọ, awọn iru ẹrọ CM olokiki bi WordPress, Drupal, ati Magento da lori PHP.

Ni akoko ti penning isalẹ itọsọna yii, ẹya tuntun ti PHP jẹ PHP 8.0. O ti tu silẹ ni Oṣu Kọkànlá Oṣù 26, 2020. O ṣogo fun awọn ẹya tuntun ati awọn imudarasi bii awọn iru iṣọkan, awọn ariyanjiyan ti a darukọ, alailewu oniṣe alailowaya, iṣafihan ibaamu, JIT, ati awọn ilọsiwaju ninu mimu aṣiṣe ati aitasera.

Ilana yii n rin ọ nipasẹ fifi sori PHP 8.0 lori Ubuntu 20.04/18.04.

Lori oju-iwe yii

  • Ṣafikun ibi ipamọ Ondřej Surý PPA lori Ubuntu
  • Fi PHP 8.0 sori ẹrọ pẹlu Afun lori Ubuntu
  • Fi PHP 8.0 sii pẹlu Nginx lori Ubuntu
  • Fi PHP 8 Awọn amugbooro sii ni Ubuntu
  • Ṣayẹwo Fifi sori PHP 8 ni Ubuntu

PHP 7.4 jẹ ẹya aiyipada PHP ni awọn ibi ipamọ Ubuntu 20.04 ni akoko kikọ kikọ ẹkọ yii. Lati fi ẹya tuntun ti PHP sori ẹrọ, a yoo lo awọn ibi ipamọ Ondrej PPA. Ibi ipamọ yii ni awọn ẹya PHP lọpọlọpọ ati awọn amugbooro PHP.

Ṣugbọn lakọkọ, jẹ ki a ṣe imudojuiwọn awọn idii eto Ubuntu rẹ ki o fi sori ẹrọ diẹ ninu awọn igbẹkẹle bi o ti han.

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

Nigbamii, ṣafikun Ondrej PPA.

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

Nigbati o ba ṣetan, tẹ Tẹ lati tẹsiwaju pẹlu fifi ibi ipamọ kun.

Nigbamii, ṣe imudojuiwọn awọn ibi ipamọ eto lati bẹrẹ lilo PPA.

$ sudo apt update

Ti o ba n ṣiṣẹ olupin ayelujara Apache, fi PHP 8.0 sii pẹlu module Apache bi o ti han.

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

Nigbamii, tun bẹrẹ webserver Apache lati jẹki module naa.

$ sudo systemctl restart apache2

Ti o ba fẹ lo webserver Apache pẹlu PHP-FPM, ṣiṣe aṣẹ ni isalẹ lati fi awọn idii ti o nilo sii:

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

Niwọn igba ti PHP-FPM ko ṣiṣẹ nipasẹ aiyipada, muu ṣiṣẹ nipasẹ pipe awọn ofin wọnyi:

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

Lẹhinna tun bẹrẹ webserver Apache fun awọn ayipada lati wa si ipa.

$ sudo systemctl restart apache2

Ti o ba yan lati lo PHP 8.0 pẹlu fifi sori Nginx, igbesẹ ti a ṣe iṣeduro julọ lati ya ni lati fi PHP-FPM sori ẹrọ lati ṣe ilana awọn faili PHP.

Nitorinaa, fi PHP ati PHP-FPM sori ẹrọ nipa lilo pipaṣẹ wọnyi:

$ sudo apt install php8.0-fpm

Iṣẹ PHP-FPM yẹ ki o bẹrẹ laifọwọyi. O le ṣayẹwo eyi bi o ṣe han:

$ sudo systemctl status php8.0-fpm

Fun Nginx lati ṣe ilana awọn faili PHP, tunto Àkọsílẹ olupin Nginx rẹ nipa mimuṣe imudojuiwọn apakan olupin bi o ti han:

server {

   # ... some other code

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

Lakotan, tun bẹrẹ olupin ayelujara Nginx fun awọn ayipada lati wa si ipa.

$ sudo systemctl restart nginx

Awọn amugbooro PHP jẹ awọn ile-ikawe ti o faagun iṣẹ-ṣiṣe ti PHP. Awọn amugbooro wọnyi wa bi awọn idii ati pe o le fi sii bi atẹle:

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

Fun apeere, apẹẹrẹ ti o wa ni isalẹ nfi SNMP, Memcached, ati awọn amugbooro MySQL sii.

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

Lati jẹrisi ẹya ti a fi sii PHP, ṣiṣe aṣẹ naa:

$ php -v

Ni afikun, o le ṣẹda faili php apẹẹrẹ kan ni/var/www/html bi o ṣe han:

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

Lẹẹmọ awọn ila wọnyi ki o fi faili naa pamọ.

<?php

phpinfo();

?>

Lakotan, lọ si aṣawakiri rẹ ki o lọ kiri lori adirẹsi IP olupin naa bi o ti han.

http://server-ip/info.php

O yẹ ki o gba oju-iwe wẹẹbu ti o han.

O jẹ ireti wa pe o le fi PHP 8.0 sori ẹrọ bayi ati ni iṣọkan ṣepọ rẹ pẹlu boya Apache tabi awọn olupin ayelujara Nginx. Rẹ esi jẹ julọ kaabo.