Instalează PHP 8.1 pe Rocky 8|CentOS 8|Alma 8


În această scurtă postare pe blog ne vom concentra pe modul de instalare a PHP 8.1 pe Rocky Linux 8/CentOS 8. PHP este un limbaj de scriptare pentru server foarte puternic și open source, creat pentru a face crearea paginilor web dinamice și interactive o experiență interesantă. PHP este o alternativă la concurenți precum ASP de la Microsoft. Acest limbaj de programare a fost inițial creat de programatorul danezo-canadian Rasmus Lerdorf, în 1994.

PHP 8.1 este un update al versiunii sale anterioare a limbajului de programare PHP, versiunea 8.0. Dacă ești gata să testezi această nouă versiune de PHP, atunci acest articol este pentru tine. Cele mai puternice sisteme de management al conținutului, cum ar fi Drupal, WordPress și Joomla, sunt alimentate de PHP. PHP 8.1 vine cu un set de funcționalități noi, îmbunătățiri de performanță, modificări și deprecieri.

Funcții noi în PHP 8.1

  • Enums – Acestea au fost adăugate acum în PHP 8.1
  • Proprietăți doar pentru citire – Proprietățile unei clase pot fi marcate ca doar pentru citire, deci pot fi scrise o singură dată
  • Tip de returnare Never – Un nou tip de hint pentru returnare numit never a fost adăugat în PHP 8.1
  • Suport pentru DNS peste HTTPS (DoH)
  • Suport pentru formatul de imagine AVIF – Extensia de procesare a imaginilor și GD din PHP 8.1 adaugă suport pentru imaginile AVIF.
  • S-a adăugat suport pentru Fibers – Mecanismul la nivel scăzut pentru gestionarea paralelismului
  • Încărcarea fișierelor cu CURLStringFile – În PHP 8.1, extensia PHP Curl suportă acum cereri HTTP(S) cu încărcarea de fișiere
  • Adăugarea funcționalității tipurilor de intersecție pure
  • PHP 8.1 adaugă array_is_list ca funcție încorporată
  • Notație numerică octală explicită
  • Noile funcții fdatasync() și fsync()
  • Definește constantele finale ale clasei
  • Printre multe alte caracteristici noi și funcții învechite

Instalează PHP 8.1 pe Rocky 8/CentOS 8/AlmaLinux 8

În secțiunile următoare ne vom concentra pe instalarea pas cu pas a PHP 8.1 pe sistemele Rocky Linux 8 | CentOS 8. Sistemele bazate pe RHEL 8 vin cu unele versiuni de PHP, disponibile în depozitele AppStream, care pot fi verificate cu următoarea comandă:

$ 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

Pentru PHP 8.1, vom folosi depozitele RPM Remi care conțin noile pachete PHP pentru sistemele bazate pe RHEL, cum ar fi CentOS, Rocky Linux, AlmaLinux, Fedora etc.

1) Adaugă depozitul Remi YUM

Trebuie să activăm depozitul EPEL înainte de a adăuga depozitele YUM Remi în sistemul nostru.

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

După ce depozitele EPEL și PowerTools sunt adăugate în sistem, continuați prin a activa depozitul YUM Remi:

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

Confirmați că toate depozitele adăugate sunt active:

$ 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

Ar trebui să fie adăugate noi module PHP în sistem

$ 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) Instalați pachetele PHP 8.1

Cu depozitele necesare activate și confirmate că funcționează, putem acum să instalăm PHP 8.1 pe Rocky Linux 8|CentOS 8.

Să resetăm modulul implicit PHP în depozitul AppStream:

sudo dnf -y module reset php

Activează depozitul Remi pentru PHP 8.1 rulând comanda de mai jos ca utilizator sudo:

sudo dnf module install php:remi-8.1

Confirmați dependențele pachetului și continuați cu instalarea PHP 8.1 din depozitul Remi

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

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

Vi se cere să acceptați importul unor chei GPG pentru semnarea pachetelor în timpul instalării.

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

Să vedem versiunea de PHP instalată pe sistemul nostru:

$ 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) Instalează extensiile PHP 8.1

Extensiile PHP te ajută să eviți să recreezi același cod pentru numeroase aplicații PHP de la zero. Instalezi o extensie și pur și simplu te conectezi la ea din aplicația ta. Poți să folosești cu ușurință o extensie disponibilă public, care poate fi instalată cu sintaxa comenzii:

sudo yum install php-xxx
  • Unde xxx este numele extensiei.

Iată comenzile pentru a instala extensiile PHP utilizate frecvent:

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

Acceptați invitația de instalare pentru a continua:

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

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

Se verifică toate extensiile PHP disponibile:

$ 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) Rularea mai multor versiuni de PHP

Colecția de software este cea mai bună metodă de a rula mai multe versiuni de PHP. Colecția php81 este disponibilă în depozitul remi-safe și poate fi instalată cu comanda:

sudo dnf install php81

Pachete suplimentare pot fi instalate utilizând comanda:

sudo dnf install php81-php-xxx

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

Se listează modulele activate pentru 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

Acesta încheie ghidul nostru despre cum să instalați PHP 8.1 pe Rocky Linux 8|CentOS 8|AlmaLinux 8. Sperăm că v-a plăcut și sunteți întotdeauna bineveniți. Pentru orice probleme întâmpinate în timpul instalării, nu ezitați să ne contactați în secțiunea de comentarii sau prin e-mail. Noroc!

Cărți recomandate de dezvoltare web de citit:

  • Cele mai bune cărți pentru a învăța Dezvoltare Web – PHP, HTML, CSS, JavaScript și jQuery
  • Cele mai bune cărți pentru a stăpâni designul web
  • Cele mai bune cărți pentru a învăța CSS și CSS3
  • Cele mai bune cărți pentru a învăța HTML și HTML5
  • Cele mai bune cărți de referință Apache și Nginx