Cara Menginstal PHP 8.4 di Rocky/AlmaLinux 9|8


PHP 8.4 belum siap untuk rilis produksi, namun versi alpha sudah tersedia untuk pengujian dan memberikan umpan balik kepada tim pengembang. Dalam artikel ini, kami akan menginstal PHP 8.4 pada Rocky Linux/AlmaLinux dan proses yang sama seharusnya berlaku untuk varian CentOS Stream 9 atau 8. Dalam artikel sebelumnya, kami membahas instalasi PHP 8.4 di Ubuntu Linux. Untuk perubahan dan fitur yang diharapkan di PHP 8.4, silakan lihat tautan/sumber berikut:

  • Halaman PHP.Watch
  • Berita Laravel

Ini juga merupakan praktik yang baik untuk melakukan instalasi ini pada instance baru dari Rocky/AlmaLinux guna menghindari kerusakan pada sistem aktif Anda dengan aplikasi yang melayani lalu lintas langsung.

Tambahkan repositori EPEL dan REMI

Pertama, kita perlu menambahkan repositori EPEL dan REMI ke dalam sistem.

  • Tambahkan repositori EPEL
sudo dnf -y install epel-release
  • Pasang repositori REMI
## EL 9-based systems ##
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

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

Validasi dapat dilakukan dengan mendaftar repositori yang tersedia di sistem.

$ sudo dnf repolist
repo id                                                                                                            repo name
appstream                                                                                                          Rocky Linux 8 - AppStream
baseos                                                                                                             Rocky Linux 8 - BaseOS
epel                                                                                                               Extra Packages for Enterprise Linux 8 - x86_64
extras                                                                                                             Rocky Linux 8 - Extras
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

Anda mungkin diminta untuk mengaktifkan repositori remi-safe yang berisi paket perangkat lunak yang tidak stabil.

sudo dnf config-manager --set-enabled remi-safe

Pasang PHP 8.4 di Rocky/AlmaLinux/CentOS Stream

Setelah kedua repositori ditambahkan, instalasi PHP 8.4 dapat dilakukan di sistem lokal Anda. Untuk mengetahui versi PHP terbaru yang tersedia di sistem, jalankan perintah berikut:

sudo dnf module list php

Pasang PHP 8.4 dengan menjalankan perintah berikut:

sudo dnf install php84

Anda akan diminta untuk menerima instalasi, ketik y dan tekan <ENTER>

Dependencies resolved.
===================================================================================================================================================================================================================================================================================
 Package                                                            Architecture                                          Version                                                                                   Repository                                                Size
===================================================================================================================================================================================================================================================================================
Installing:
 php84                                                              x86_64                                                8.4-1.el8.remi                                                                            remi-safe                                                8.0 k
Installing dependencies:
 capstone                                                           x86_64                                                4.0.2-5.el8                                                                               epel                                                     1.1 M
 environment-modules                                                x86_64                                                4.5.2-4.el8                                                                               baseos                                                   421 k
 httpd-filesystem                                                   noarch                                                2.4.37-65.module+el8.10.0+1840+b070a976.1                                                 appstream                                                 44 k
 libsodium                                                          x86_64                                                1.0.18-2.el8                                                                              epel                                                     162 k
 libxslt                                                            x86_64                                                1.1.32-6.el8                                                                              baseos                                                   249 k
 oniguruma5php                                                      x86_64                                                6.9.9-1.el8.remi                                                                          remi-safe                                                213 k
 php84-php-cli                                                      x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                3.9 M
 php84-php-common                                                   x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                785 k
 php84-runtime                                                      x86_64                                                8.4-1.el8.remi                                                                            remi-safe                                                1.1 M
 scl-utils                                                          x86_64                                                1:2.0.2-16.el8                                                                            appstream                                                 46 k
 tcl                                                                x86_64                                                1:8.6.8-2.el8                                                                             baseos                                                   1.1 M
Installing weak dependencies:
 php84-php-fpm                                                      x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                2.0 M
 php84-php-mbstring                                                 x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                553 k
 php84-php-opcache                                                  x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                529 k
 php84-php-pdo                                                      x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                159 k
 php84-php-sodium                                                   x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                104 k
 php84-php-xml                                                      x86_64                                                8.4.0~alpha4-1.el8.remi                                                                   remi-safe                                                889 k
Enabling module streams:
 httpd                                                                                                                    2.4

Transaction Summary
===================================================================================================================================================================================================================================================================================
Install  18 Packages

Total download size: 13 M
Installed size: 53 M
Is this ok [y/N]: y

Perhatikan bahwa instalasi ini berasal dari SCL dan bersifat independen dari sistem Anda, sehingga menjaga OS dasar tetap aman. Beberapa hal yang perlu diperhatikan:

  • Instalasi berada di direktori /opt/remi/php84
  • File konfigurasi ditempatkan di dalam direktori /etc/opt/remi/php84

Untuk mengetahui versi PHP 8.4 yang terpasang, gunakan perintah:

$ php84 --version
PHP 8.4.0alpha4 (cli) (built: Aug  1 2024 00:50:38) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.4.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.0alpha4, Copyright (c), by Zend Technologies

Pasang Ekstensi PHP 8.4

Gunakan perintah di bawah ini untuk menginstal ekstensi PHP 8.4.

sudo dnf install php84-<extension>

Mari kita pertimbangkan sebuah contoh di mana kita sedang menginstal ekstensi mysqlnd dan zip.

sudo dnf install php84-php-mysqlnd php84-php-zip

Untuk menampilkan modul yang terdaftar, jalankan perintah berikut:

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

[Zend Modules]
Zend OPcache

Kami akan memperbarui artikel ini ketika versi resmi dan stabil dari PHP 8.4 dirilis. Nantikan pembaruannya.