Ubuntu 20.04/18.04-de PHP 8.0 nädip gurmaly


PHP iň giňden ulanylýan serwer tarapy programma dilleriniň biridir. Dinamiki we täsirli web sahypalaryny ösdüreniňizde, saýlama dili. Aslynda, WordPress, Drupal we Magento ýaly meşhur CM platformalary PHP-e esaslanýar.

Bu gollanmany ýazan wagtyňyz, PHP-iň iň soňky wersiýasy PHP 8.0. 2020-nji ýylyň 26-njy noýabrynda çykdy. Onda kärdeşler arkalaşyklary, argumentler, null howpsuz operator, deňeşdirme aňlatmasy, JIT we ýalňyşlyklary düzetmek we yzygiderlilik ýaly täze aýratynlyklar we optimizasiýa bar.

Bu gollanma, Ubuntu 20.04/18.04-de PHP 8.0 gurnamagyň üstünden barýar.

Bu sahypada

  • Ubuntu-da Ondřej Surý PPA ammaryny goşuň
  • Ubuntu-da Apache bilen PHP 8.0 guruň
  • Ubuntu-da Nginx bilen PHP 8.0 guruň
  • Ubuntu-da PHP 8 giňeltmelerini guruň
  • Ubuntu-da PHP 8 gurnamasyny barlaň

PHP 7.4, bu gollanmany ýazan wagtyňyz Ubuntu 20.04 ammarlarynda esasy PHP wersiýasy. PHP-iň iň soňky wersiýasyny gurmak üçin, Ondrej PPA ammarlaryny ulanarys. Bu ammarda birnäçe PHP wersiýasy we PHP giňeltmeleri bar.

Firstöne ilki bilen, Ubuntu ulgam paketleriňizi täzeläliň we görkezilişi ýaly käbir baglylyklary guralyň.

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

Ondan soň Ondrej PPA goşuň.

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

Soralanda, ammary goşmak üçin ENTER basyň.

Ondan soň, PPA ulanyp başlamak üçin ulgam ammarlaryny täzeläň.

$ sudo apt update

Apache web serwerini işleýän bolsaňyz, görkezilişi ýaly Apache moduly bilen PHP 8.0 guruň.

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

Ondan soň, moduly işletmek üçin Apache web serwerini täzeden açyň.

$ sudo systemctl restart apache2

“Apache” web serwerini PHP-FPM bilen ulanmak isleseňiz, zerur paketleri gurmak üçin aşakdaky buýrugy işlediň:

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

PHP-FPM deslapky görnüşde işlemeýänligi sebäpli, aşakdaky buýruklary ulanyp işlediň:

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

Soňra üýtgeşmeleriň güýje girmegi üçin Apache web serwerini täzeden açyň.

$ sudo systemctl restart apache2

PHP 8.0-ni Nginx gurnamasy bilen ulanmagy saýlasaňyz, iň maslahat berilýän ädim, PHP faýllaryny gaýtadan işlemek üçin PHP-FPM gurmakdyr.

Şonuň üçin aşakdaky buýrugy ulanyp, PHP we PHP-FPM guruň:

$ sudo apt install php8.0-fpm

PHP-FPM hyzmaty awtomatiki başlamaly. Muny görkezilişi ýaly tassyklap bilersiňiz:

$ sudo systemctl status php8.0-fpm

Nginx-iň PHP faýllaryny gaýtadan işlemegi üçin, serwer bölümini görkezilişi ýaly täzeläp, Nginx serwer blokyňyzy düzüň:

server {

   # ... some other code

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

Netijede, üýtgeşmeleriň güýje girmegi üçin Nginx web serwerini täzeden açyň.

$ sudo systemctl restart nginx

PHP giňeltmeleri, PHP-iň işleýşini giňeldýän kitaphanalardyr. Bu giňeltmeler paket hökmünde bar we aşakdaky ýaly gurnalyp bilner:

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

Mysal üçin, aşakdaky mysal SNMP, Memcached we MySQL giňeltmelerini gurýar.

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

Gurlan PHP wersiýasyny tassyklamak üçin buýrugy işlediň:

$ php -v

Mundan başga-da, görkezilişi ýaly/var/www/html-de php faýlyny döredip bilersiňiz:

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

Aşakdaky setirleri goýuň we faýly ýazdyryň.

<?php

phpinfo();

?>

Netijede, brauzeriňize geçiň we görkezilişi ýaly serweriň IP adresine göz aýlaň.

http://server-ip/info.php

Web sahypasyny görkezmeli.

Indi PHP 8.0 gurup, ony Apache ýa-da Nginx web serwerleri bilen rahat birleşdirip bilersiňiz diýip umyt edýäris. Siziň pikirleriňiz hoş geldiňiz.