Instalirajte PHP 8.1 na Rocky 8 | CentOS 8 | Alma 8


U ovom kratkom blog postu fokusirat ćemo se na to kako instalirati PHP 8.1 na Rocky Linux 8 | CentOS 8. PHP je vrlo moćan i open source serverski skriptni jezik stvoren kako bi stvaranje dinamičnih i interaktivnih web stranica učinio zanimljivim iskustvom. PHP je alternativa konkurentima poput Microsoftovog ASP-a. Ovaj programski jezik izvorno je stvorio dansko-kanadski programer, po imenu Rasmus Lerdorf, 1994. godine.

PHP 8.1 je nadogradnja u odnosu na svoju prethodnu verziju PHP programski jezik verzije 8.0. Ako ste spremni testirati ovo novo izdanje PHP-a, ovaj članak je za vas. Najmoćniji sustavi za upravljanje sadržajem poput Drupala, WordPressa i Joomle koriste PHP. PHP 8.1 dolazi s nizom novih značajki, poboljšanjima izvedbe, promjenama i zastarjelim funkcijama.

Nove značajke u PHP-u 8.1

  • Enumi – Sada su dodani u PHP 8.1
  • Svojstva samo za čitanje – Svojstva klase mogu se označiti kao samo za čitanje i stoga se mogu zapisati samo jednom
  • Nikada Povratni Tip – U PHP 8.1 je dodat novi povratni tip nazvan never
  • Podrška za DNS-preko-HTTPS-a (DoH)
  • Podrška za AVIF format slika – PHP 8.1-ovo procesiranje slika i GD ekstenzija dodaju podršku za AVIF slike.
  • Dodan podrška za Fibere – Nisko razinska mehanizam za upravljanje paralelizmom
  • Slanje datoteka s CURLStringFile – U PHP-u 8.1, PHP Curl ekstenzija sada podržava HTTP(S) zahtjeve s prijenosom datoteka
  • Dodavanje značajke čistih tipova presjeka
  • PHP 8.1 dodaje array_is_list kao ugrađenu funkciju
  • Izričita oktalna notacija brojeva
  • Nove fdatasync() i fsync() funkcije
  • Definirajte konačne konstante klase
  • Među mnogim drugim novim značajkama i zastarjelostima

Instalirajte PHP 8.1 na Rocky 8/CentOS 8/AlmaLinux 8

U sljedećim odjeljcima usredotočit ćemo se na korak-po-korak instalaciju PHP-a 8.1 na sustave Rocky Linux 8|CentOS 8. Sustavi temeljeni na RHEL 8 dolaze s nekim verzijama PHP-a, dostupnim u AppStream spremištima, što se može provjeriti sljedećom naredbom:

$ 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

Za PHP 8.1 koristit ćemo Remi RPM repozitorije koji sadrže nove pakete PHP-a za sustave temeljene na RHEL-u kao što su CentOS, Rocky Linux, AlmaLinux, Fedora itd.

1) Dodajte Remi YUM spremište

Moramo omogućiti EPEL spremište prije nego što dodamo Remi YUM spremišta na naš sustav.

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

Nakon što su EPEL i PowerTools spremišta dodana u sustav, prijeđite na omogućavanje Remi YUM spremišta:

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

Potvrdite da su svi dodani repozitoriji aktivni:

$ 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

U sustav bi trebali biti dodani novi PHP moduli

$ 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) Instalirajte PHP 8.1 pakete

S omogućenim i potvrđenim funkcionalnim potrebnim spremištima, sada možemo instalirati PHP 8.1 na Rocky Linux 8|CentOS 8.

Poništimo zadani PHP modul u AppStream spremištu:

sudo dnf -y module reset php

Omogućite Remi spremište za PHP 8.1 tako da pokrenete donju naredbu kao sudo korisnik:

sudo dnf module install php:remi-8.1

Potvrdite ovisnosti paketa i nastavite s instalacijom PHP-a 8.1 iz Remi repozitorija

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

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

Traži se da tijekom instalacije prihvatite uvoz nekih GPG ključeva za potpisivanje paketa.

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

Pogledajmo verziju PHP-a instaliranu na našem sustavu:

$ 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) Instalirajte PHP 8.1 ekstenzije

PHP ekstenzije pomažu vam izbjeći ponovno kreiranje istog koda za brojne PHP aplikacije od nule. Instalirate ekstenziju i jednostavno je povežete s vašom aplikacijom. Možete lako koristiti javno dostupnu ekstenziju koju možete instalirati pomoću naredbene sintakse:

sudo yum install php-xxx
  • Gdje je xxx naziv ekstenzije.

Evo naredbi za instalaciju često korištenih PHP ekstenzija:

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

Prihvatite upit za instalaciju kako biste nastavili:

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

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

Provjera svih dostupnih PHP ekstenzija:

$ 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) Pokretanje više verzija PHP-a

Software Collection je najbolji način za pokretanje više verzija PHP-a. Kolekcija php81 dostupna je u remi-safe spremištu i može se instalirati naredbom:

sudo dnf install php81

Dodatni paketi mogu se instalirati pomoću sljedeće naredbe:

sudo dnf install php81-php-xxx

Provjera verzije PHP-a 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

Popis omogućenih modula za 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

Ovim završavamo naš vodič o tome kako instalirati PHP 8.1 na Rocky Linux 8|CentOS 8|AlmaLinux 8. Nadamo se da ste uživali i uvijek ste dobrodošli. Za bilo kakve probleme tijekom instalacije, ne oklijevajte nas kontaktirati u odjeljku za komentare ili putem e-pošte. Živjeli!

Preporučene knjige o web razvoju za čitanje:

  • Najbolje knjige za učenje web razvoja – PHP, HTML, CSS, JavaScript i jQuery
  • Najbolje knjige za savladavanje web dizajna
  • Najbolje knjige za učenje CSS-a i CSS3
  • Najbolje knjige za učenje HTML-a i HTML5
  • Najbolje referentne knjige za Apache i Nginx