Install PHP 8 on Debian 10 / Debian 9 - Step by Step Process ?

PHP a powerful scripting language for web development. PHP 8.0 is the latest available version for the web development.

It is the most advanced and secure version released by the PHP Team.

Any PHP script can be executed on a Linux, Windows, macOS and Unix system with PHP runtime installed.

Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform related PHP queries.

In this context, we shall look into how we can install it on Debian.

How to Install PHP 8.0 on Debian 10 / Debian 9 ?

Follow the steps given below to perform this installation procedure.

1. Update System

First and foremost, we need to update the system to the latest release:

$ sudo apt update
$ sudo apt -y upgrade

Since there could be kernel updates, we consider system reboot after the upgrade:

$ sudo reboot

2. Add Sury APT repository

The PHP 8 packages for Debian are available on the DEB.SURY.ORG repository. 

We can install our dependencies:

$ sudo apt update
$ sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common

Then we add the PHP packages APT repository to the Debian server:

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

Later, import the repository key:

wget -qO – https://packages.sury.org/php/apt.gpg | sudo apt-key add –

To confirm the repository has been added, we perform package index update:

$ sudo apt update

Get:9 https://packages.sury.org/php buster InRelease [6,759 B]
Get:10 https://packages.sury.org/php buster/main amd64 Packages [148 kB]
Fetched 155 kB in 2s (83.2 kB/s)
Reading package lists… Done
Building dependency tree
Reading state information… Done
7 packages can be upgraded. Run 'apt list –upgradable' to see them.

3. Install PHP 8

Now, we can install PHP 8.0 on Debian 10/Debian 9:

$ sudo apt update
$ sudo apt install php8.0

Hit the 'y' key to start installation.

We need to confirm the default PHP version on the server:

$ php -v
PHP 8.0.0RC3 (cli) (built: Nov 3 2020 14:33:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
with Zend OPcache v8.0.0RC3, Copyright (c), by Zend Technologies

4. Install PHP 8 Extensions

To do so, we use the following command syntax:

$ sudo apt install php8.0-<extension>

For example,

$ sudo apt install php8.0-{mysql,cli,common,imap,ldap,xml,fpm,curl,mbstring,zip}

Then accept installation prompt with the y key.

The following additional packages will be installed:
libc-client2007e libonig5 libxslt1.1 libzip4 mlock
Suggested packages:
uw-mailutils php-pear
The following NEW packages will be installed:
libc-client2007e libonig5 libxslt1.1 libzip4 mlock php8.0-curl php8.0-fpm php8.0-imap php8.0-ldap php8.0-mbstring php8.0-mysql php8.0-xml php8.0-zip
0 upgraded, 13 newly installed, 0 to remove and 7 not upgraded.
Need to get 3,308 kB of archives.
After this operation, 10.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
We can use the same installation format for all other PHP extensions available in the repository.

Eventually, to check loaded PHP modules, we use:

$ php -m

How to fix Common issues encountered while installing Install PHP 8 ?

While importing the repository using the following command, it results in a missing wget error:

$ wget -qO – https://packages.sury.org/php/apt.gpg | sudo apt-key add –

To fix this, we run the command:

$ sudo apt -y wget

[Need urgent help with PHP installation on Debian, Ubuntu and CentOS Linus System? We'd be happy to assist. ]


This article covers how to install PHP 8 on any Linux distribution.

To install Apache with PHP 8 module:

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

After successful installation, restart Apache service to reload newly installed modules:

$ sudo systemctl restart apache2 

To check loaded PHP modules use the command:

$ php -m