How To Install PHP 8.0 on Debian 11

0

PHP is an open-source, general-purpose scripting language that is especially suited to web development but has also been used as a general-purpose programming language.

Rasmus Lerdorf created it in 1994, then just “Personal Home Page/Forms Interpreter” and came from the merger of two similar server scripting languages: – PHP/FI (Forms Interpreter) and – PHP/quick.

In this post, we will see how to install PHP 8 on Debian 11.

Add PHP Repository

To install PHP 8 on Debian, we need to set up the SURY repository. It offers PHP 8 packages for Debian operating system.

First, update the repository cache.

sudo apt update

Install the below packages.

sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https

Import the public using the below commands.

wget https://packages.sury.org/php/apt.gpg

sudo apt-key add apt.gpg

Add the SURY repository to your system.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php8.list

Update the repository index.

sudo apt update

Install PHP 8

Install PHP v8.0 with the following command.

sudo apt install -y php8.0 php8.0-cli php8.0-common
You can also have multiple PHP versions on your system. Each PHP version will have separate configuration files under /etc/php/{8/7}.X directory.

In case you want to install PHP v7.4, use the following command to install it.

sudo apt install -y php7.4 php7.4-cli php7.4-common

Set Default PHP Version

If your system has multiple PHP versions, You can set the default PHP version with the update-alternatives command. Change php8.0 with the version you want to set as the default PHP version.

sudo update-alternatives --set php /usr/bin/php8.0

Check PHP Version

Once you installed the PHP, check the version.

php -v

Output:

PHP 8.0.9 (cli) (built: Jul 30 2021 13:09:45) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.9, Copyright (c) Zend Technologies
with Zend OPcache v8.0.9, Copyright (c), by Zend Technologies

PHP Support for Web Server

PHP Support for Apache

Install the below package with Apache webserver to support PHP. This package provides the PHP modules for Apache 2 web server and ONLY works with Apache’s prefork MPM.

ADVERTISEMENT

sudo apt install -y apache2 libapache2-mod-php8.0

PHP Support for Ngnix

PHP does not have a PHP modules package to support Nginx. But, we can use the PHP FastCGI Process Manager to handle requests.

sudo apt install -y php8.0-fpm

Once you have installed FastCGI manager, add socket details in Nginx virtual host.

server {

# other codes

  location ~* \.php$ {
    fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
  }
}

Install PHP Extensions

PHP extensions enable developers to extend the capabilities of the PHP language. At their simplest, extensions can provide additional functionality that is not natively supported by PHP (such as multi-threading).

More complicated extensions can add support for new programming languages, database libraries, or even file formats into the language itself.

For example, installing a PHP MySQL extension will let your PHP code connect with the MySQL database.

PHP extensions package is normally named like php<version>-<extn_name>.

To install MySQL support for PHP v8.0, you can install the php8.0-mysql package.

sudo apt install -y php8.0-mysql

Once you have installed a required extension, use the below command to verify it.

php -m | grep -i mysql

Output:

mysqli
mysqlnd
pdo_mysql

Conclusion

That’s All. I hope you have learned how to install PHP 8 on Debian 11.

You might also like