How To Install PHP 8.0 On CentOS 8 / RHEL 8 | Holhol24
PHP is an open-source programming language that is embedded in HTML. It is mainly used for creating dynamic web sites such as blogs, e-commerce sites, etc. Rasmus Lerdorf created it in 1994.
CentOS 8 / RHEL 8 comes with PHP v7.2 by default.
In this post, we will see how to install PHP 8.0 on CentOS 8 / RHEL 8.
Add Remi Repository
Remi, a third-party repository that offers multiple PHP versions (8.0 / 7.4 / 7.3 / 7.2) for Red Hat Enterprise Linux.
Remi repository requires EPEL repository be enabled on the system. So, install the latest EPEL repository auto-configuration rpm on the system to enable the EPEL repository.
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Then, install the Remi repository auto-configuration package using the below command.
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Output:
CentOS-8 - AppStream 1.4 MB/s | 5.8 MB 00:04 CentOS-8 - Base 128 kB/s | 2.2 MB 00:17 CentOS-8 - Extras 3.8 kB/s | 8.6 kB 00:02 CentOS-8 - PowerTools 764 kB/s | 1.9 MB 00:02 Extra Packages for Enterprise Linux Modular 8 - x86_64 30 kB/s | 98 kB 00:03 Extra Packages for Enterprise Linux 8 - x86_64 4.6 MB/s | 8.4 MB 00:01 Google Cloud SDK 5.4 MB/s | 22 MB 00:04 Google Compute Engine 2.1 kB/s | 6.9 kB 00:03 remi-release-8.rpm 15 kB/s | 23 kB 00:01 Dependencies resolved. =================================================================================================================== Package Arch Version Repository Size =================================================================================================================== Installing: remi-release noarch 8.1-2.el8.remi @commandline 23 k Upgrading: centos-release x86_64 8.2-2.2004.0.2.el8 BaseOS 21 k Installing dependencies: centos-gpg-keys noarch 8.2-2.2004.0.2.el8 BaseOS 12 k centos-repos x86_64 8.2-2.2004.0.2.el8 BaseOS 13 k Transaction Summary =================================================================================================================== Install 3 Packages Upgrade 1 Package Total size: 69 k Total download size: 46 k Downloading Packages: (1/3): centos-gpg-keys-8.2-2.2004.0.2.el8.noarch.rpm 12 kB/s | 12 kB 00:01 (2/3): centos-repos-8.2-2.2004.0.2.el8.x86_64.rpm 12 kB/s | 13 kB 00:01 (3/3): centos-release-8.2-2.2004.0.2.el8.x86_64.rpm 20 kB/s | 21 kB 00:01 ------------------------------------------------------------------------------------------------------------------- Total 12 kB/s | 46 kB 00:03 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: centos-gpg-keys-8.2-2.2004.0.2.el8.noarch 1/1 Installing : centos-gpg-keys-8.2-2.2004.0.2.el8.noarch 1/5 Upgrading : centos-release-8.2-2.2004.0.2.el8.x86_64 2/5 Installing : centos-repos-8.2-2.2004.0.2.el8.x86_64 3/5 Installing : remi-release-8.1-2.el8.remi.noarch 4/5 Cleanup : centos-release-8.0-0.1905.0.9.el8.x86_64 5/5 Running scriptlet: centos-release-8.0-0.1905.0.9.el8.x86_64 5/5 Verifying : centos-gpg-keys-8.2-2.2004.0.2.el8.noarch 1/5 Verifying : centos-repos-8.2-2.2004.0.2.el8.x86_64 2/5 Verifying : remi-release-8.1-2.el8.remi.noarch 3/5 Verifying : centos-release-8.2-2.2004.0.2.el8.x86_64 4/5 Verifying : centos-release-8.0-0.1905.0.9.el8.x86_64 5/5 Upgraded: centos-release-8.2-2.2004.0.2.el8.x86_64 Installed: remi-release-8.1-2.el8.remi.noarch centos-gpg-keys-8.2-2.2004.0.2.el8.noarch centos-repos-8.2-2.2004.0.2.el8.x86_64 Complete!
Once you install the Remi repository rpm, list the available PHP module streams.
dnf module list php
You should see the below output.
CentOS-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 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 Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Install PHP 8.0 on CentOS 8 / RHEL 8
Enable php:remi-8.0 module to install PHP 8.0.
dnf module enable php:remi-8.0 -y
Output:
Dependencies resolved. =================================================================================================================== Package Arch Version Repository Size =================================================================================================================== Enabling module streams: php remi-8.0 Transaction Summary =================================================================================================================== Complete! Switching module streams does not alter installed packages (see 'module enable' in dnf(8) for details)
Install PHP 8.0 on CentOS 8 / RHEL 8 with the dnf command.
dnf install -y php php-cli php-common
Install PHP 7.x on CentOS 8 / RHEL 8
Enable php:remi-7.x module to install PHP 7.x on the system as shown in this article.
Install PHP-FPM
If you are setting up the LEMP stack on RHEL 8, you might want to install php-fpm.
dnf install -y php-fpm
Install PHP Extensions
PHP extensions are compiled libraries that enable specific support for your code.
To have MySQL support on your code, you can install the php-mysqlnd package.
dnf install -y php-mysqlnd
The below command would now list the installed MySQL extension.
php -m | grep -i mysql
Output:
mysqli
mysqlnd
pdo_mysql
Conclusion
That’s All. I hope you have learned how to install PHP 8.0 on CentOS 8 / RHEL 8. Please share your feedback in the comments section.