How To Install PHP 7.4 on AlmaLinux 8

In this guide, we want to teach you How To Install PHP 7.4 on AlmaLinux 8.

PHP is a type of open-source general-purpose scripting language fit for server-side programming. It is a popular choice in web development for creating dynamic pages and applications.

The acronym is used to stand for Personal Home Page. But, now, PHP is known as Hypertext Preprocessor

Install PHP 7.4 on AlmaLinux 8

To install PHP 7.4, you must log in to your server as a non-root user with sudo privileges. To do this, you can follow our guide the Initial Server Setup with AlmaLinux 8.

Now follow the steps below to complete this guide.

Steps To Install PHP 7.4 on AlmaLinux

First, you need to update your local package index with the following command:

sudo dnf update -y

Then, you need to remove the PHP and PHP-FPM previous versions if you have them installed on your server. To do this run the following command:

sudo dnf remove php php-fpm -y

Then remove the rest of the package extensions with the command below:

sudo dnf remove php* -y

To reset the PHP module list on AlmaLinux 8, you can use the following command:

sudo dnf module list reset php -y
Output
AlmaLinux 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
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

As you can see above, the (d) tag is next to PHP 7.2, which you will need to reset and change to install PHP 7.4.

Now you need to enable PHP 7.4 on AlmaLinux 8 with the command below:

sudo dnf module enable php:7.4

At this point, you have enabled PHP 7.4 to be the default version on your system, you can install PHP 7.4 with the following command:

sudo dnf install php

If you would like to install the most commonly used extensions for PHP 7.4, use the following command:

sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache

Finally, you can use the following command for anyone interested in installing the development branch:

sudo dnf install php-devel -y

To verify your PHP 7.4 installation on AlmaLinux 8, you can check its version:

php -v
Output
PHP 7.4.19 (cli) (built: May  4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.19, Copyright (c), by Zend Technologies

By default on AlmaLinux 8, the PHP-FPM service is designed to be run (Apache) user. If you are using Nginx you need to make configuration changes at (www.conf).

You can open the file with your favorite text editor, here we use vi:

sudo vi /etc/php-fpm.d/www.conf

Find the user and group directives and change them to Nginx as shown below:

user = nginx
group = nginx

When you are done, save and close the file.

Reload the PHP-FPM service to apply the changes:

sudo systemctl restart php-fpm

The Nginx server block needs the following example below for Nginx to process the PHP files.

Below is an example for all server {} blocks that process PHP files that need the location ~ .php$ added.

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

For more information, you can visit the PHP Documentation page.

Conclusion

At this point, you learn to Install PHP 7.4 on AlmaLinux 8.

Hope you enjoy it.

You may be like these articles:

How To Install MySQL on AlmaLinux 8

Install and Configure Zabbix on AlmaLinux 8

How To Set up 7-Zip on AlmaLinux 8

Newsletter Updates

Enter your email address below and subscribe to our newsletter

Stay informed and not overwhelmed, subscribe now!