Nainštalujte PHP 8.1 na Rocky 8|CentOS 8|Alma 8


V tomto krátkom blogovom príspevku sa zameriame na to, ako nainštalovať PHP 8.1 na Rocky Linux 8 | CentOS 8. PHP je veľmi výkonný a open source serverový skriptovací jazyk, vytvorený na to, aby bola tvorba dynamických a interaktívnych webových stránok zaujímavou cestou. PHP je alternatívou k konkurentom, ako je Microsoft ASP. Tento programovací jazyk bol pôvodne vytvorený dánsko-kanadským programátorom Rasmusom Lerdorfom v roku 1994.

PHP 8.1 je aktualizáciou predchádzajúcej verzie programovacieho jazyka PHP 8.0. Ak ste pripravení otestovať túto novú verziu PHP, tento článok je pre vás. Najvýkonnejšie systémy na správu obsahu, ako sú Drupal, WordPress a Joomla, sú poháňané PHP. PHP 8.1 prináša množstvo nových funkcií, vylepšení výkonu, zmien a zastaraní.

Nové funkcie v PHP 8.1

  • Výčtové typy – Tieto sú teraz pridané v PHP 8.1
  • Iba na čítanie – Vlastnosti triedy môžu byť označené ako iba na čítanie, takže sa dajú zapísať len raz
  • Typ návratovej hodnoty never – V PHP 8.1 bol pridaný nový typ návratovej hodnoty s názvom never
  • Podpora DNS-over-HTTPS (DoH)
  • Podpora formátu obrázkov AVIF – Spracovanie obrázkov v PHP 8.1 a rozšírenie GD pridáva podporu pre obrázky vo formáte AVIF.
  • Pridaná podpora pre Fibers – Nízkoúrovňový mechanizmus na riadenie paralelizmu
  • Nahrávanie súborov pomocou CURLStringFile – V PHP 8.1 teraz rozšírenie PHP Curl podporuje HTTP(S) požiadavky s nahrávaním súborov
  • Pridanie funkcie čistých prienikových typov
  • PHP 8.1 pridáva array_is_list ako vstavanú funkciu
  • Explicitná oktálna číselná notácia
  • Nové funkcie fdatasync() a fsync()
  • Definujte konečné triedne konštanty
  • Medzi mnohými ďalšími novými funkciami a zastaranými prvkami

Nainštalujte PHP 8.1 na Rocky 8/CentOS 8/AlmaLinux 8

V nasledujúcich častiach sa zameriame na krok za krokom inštaláciu PHP 8.1 na systémy Rocky Linux 8 | CentOS 8. Systémy založené na RHEL 8 obsahujú niektoré verzie PHP, ktoré sú dostupné v repozitároch AppStream, čo je možné overiť nasledujúcim príkazom:

$ sudo dnf module list php
Last metadata expiration check: 0:00:05 ago on Sat 20 Nov 2021 10:32:10 AM UTC.
Rocky Linux 8 - AppStream
Name                                   Stream                                     Profiles                                                     Summary
php                                    7.2 [d]                                    common [d], devel, minimal                                   PHP scripting language
php                                    7.3                                        common [d], devel, minimal                                   PHP scripting language
php                                    7.4                                        common [d], devel, minimal                                   PHP scripting language

Pre PHP 8.1 budeme používať Remi RPM repozitáre, ktoré obsahujú nové balíky PHP pre systémy založené na RHEL, ako sú CentOS, Rocky Linux, AlmaLinux, Fedora a pod.

1) Pridajte Remi YUM repozitár

Pred pridaním Remi YUM repozitárov do nášho systému potrebujeme povoliť repozitár EPEL.

sudo dnf -y install epel-release
sudo dnf config-manager --set-enabled powertools

Po pridaní repozitárov EPEL a PowerTools do systému pokračujte povolením repozitára Remi YUM:

sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Potvrďte, že všetky pridané repozitáre sú aktívne:

$ sudo dnf -y makecache
$ sudo dnf -y repolist
repo id                                                                     repo name
appstream                                                                   Rocky Linux 8 - AppStream
baseos                                                                      Rocky Linux 8 - BaseOS
epel                                                                        Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                                                                Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                                                      Rocky Linux 8 - Extras
powertools                                                                  Rocky Linux 8 - PowerTools
remi-modular                                                                Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe                                                                   Safe Remi's RPM repository for Enterprise Linux 8 - x86_64

Do systému by mali byť pridané nové moduly PHP

$ sudo dnf module list php
Last metadata expiration check: 0:00:05 ago on Sat 20 Nov 2021 10:32:10 AM UTC.
Rocky Linux 8 - AppStream
Name                                   Stream                                     Profiles                                                     Summary
php                                    7.2 [d]                                    common [d], devel, minimal                                   PHP scripting language
php                                    7.3                                        common [d], devel, minimal                                   PHP scripting language
php                                    7.4                                        common [d], devel, minimal                                   PHP scripting language
php                                    8.0                                        common [d], devel, minimal                                   PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                                   Stream                                     Profiles                                                     Summary
php                                    remi-7.2                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-7.3                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-7.4                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-8.0                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-8.1                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-8.2                                   common [d], devel, minimal                                   PHP scripting language
php                                    remi-8.3                                   common [d], devel, minimal                                   PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

2) Nainštalujte balíčky PHP 8.1

S povolenými a overenými repozitármi môžeme teraz nainštalovať PHP 8.1 na Rocky Linux 8|CentOS 8.

Obnovme predvolený modul PHP v repozitári AppStream:

sudo dnf -y module reset php

Povoľte repozitár Remi pre PHP 8.1 spustením nasledujúceho príkazu ako používateľ sudo:

sudo dnf module install php:remi-8.1

Potvrďte závislosti balíkov a pokračujte v inštalácii PHP 8.1 z repozitára Remi

....
Transaction Summary
======================================================================================================================================================================================================
Install  9 Packages

Total download size: 9.7 M
Installed size: 45 M
Is this ok [y/N]: y

Počas inštalácie ste požiadaní o prijatie importu niektorých GPG kľúčov na podpisovanie balíkov.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                  12 MB/s | 9.7 MB     00:00
Remi's Modular repository for Enterprise Linux 8 - x86_64                                                                                                             3.0 MB/s | 3.1 kB     00:00
Importing GPG key 0x5F11735A:
 Userid     : "Remi's RPM repository <[email >"
 Fingerprint: 6B38 FEA7 231F 87F5 2B9C A9D8 5550 9759 5F11 735A
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el8
Is this ok [y/N]: y

Pozrime sa na verziu PHP nainštalovanú v našom systéme:

$ php --version
PHP 8.1.25 (cli) (built: Oct 24 2023 21:51:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.25, Copyright (c) Zend Technologies

3) Nainštalujte rozšírenia PHP 8.1

PHP rozšírenia vám pomáhajú vyhnúť sa nutnosti vytvárať rovnaký kód od nuly pre mnoho PHP aplikácií. Nainštalujete rozšírenie a jednoducho ho pripojíte k svojej aplikácii. Môžete ľahko využiť verejne dostupné rozšírenie, ktoré sa dá nainštalovať pomocou príkazovej syntaxe:

sudo yum install php-xxx
  • Kde je xxx názov rozšírenia.

Tu sú príkazy na inštaláciu bežne používaných PHP rozšírení:

sudo dnf install php php-cli php-{curl,json,zip,fpm,gd,mysqlnd,devel,mcrypt,mbstring,xml,pear,bcmath,memcache,redis}

Akceptujte výzvu na inštaláciu, aby ste pokračovali:

Transaction Summary
======================================================================================================================================================================================================
Install  73 Packages

Total download size: 78 M
Installed size: 208 M
Is this ok [y/N]: y

Kontrola všetkých dostupných rozšírení PHP:

$ php --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
json
libxml
mbstring
mcrypt
memcache
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

4) Spúšťanie viacerých verzií PHP

Softvérová kolekcia je najlepší spôsob, ako spustiť viacero verzií PHP. Kolekcia php81 je dostupná v úložisku remi-safe a dá sa nainštalovať pomocou príkazu:

sudo dnf install php81

Ďalšie doplnkové balíky je možné nainštalovať pomocou príkazu:

sudo dnf install php81-php-xxx

Kontrola verzie PHP 8.1

$ php81 --version
PHP 8.1.25 (cli) (built: Oct 24 2023 21:51:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.25, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.25, Copyright (c), by Zend Technologies

Zoznam povolených modulov pre PHP 8.1

$ php81 --modules
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
openssl
pcntl
pcre
PDO
pdo_sqlite
Phar
readline
Reflection
session
SimpleXML
sockets
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

Týmto končí náš návod na inštaláciu PHP 8.1 na Rocky Linux 8|CentOS 8|AlmaLinux 8. Dúfame, že sa vám páčil a vždy ste vítaní. Ak počas inštalácie narazíte na nejaké problémy, neváhajte nás kontaktovať v sekcii komentárov alebo e-mailom. Na zdravie!

Odporúčané knihy o webovom vývoji na prečítanie:

  • Najlepšie knihy na učenie webového vývoja – PHP, HTML, CSS, JavaScript a jQuery
  • Najlepšie knihy na zvládnutie webdizajnu
  • Najlepšie knihy na učenie CSS a CSS3
  • Najlepšie knihy na učenie HTML a HTML5
  • Najlepšie referenčné knihy o Apache a Nginx