Install PHP 8.0 on Debian 10 Debian 9

You can download this article in PDF format via the link below to support us.
Download the guide in PDF formatturn off

In this short guide, we will show you how to install PHP 8.0 on Debian 10. Debian 9. PHP is a powerful scripting language for web development. Any PHP script with PHP runtime installed can be executed on Linux, Windows, macOS and Unix systems. At the time of writing, PHP 8 can be installed on Debian 10. Debian 9 Linux machine.

In the previous guide, we discussed the following aspects of PHP 8 installation:

The official version of PHP 8 is November 26, 2020. This major version of PHP has many new features and performance improvements.

You should also expect new major changes, which means that you may need to make some changes to the code to make it work on PHP 8. Some of the nice new features that come with PHP 8 include the JIT compiler, named parameters, union types, attributes, and many more.

Step 1: Update the system

Before starting to install PHP 8 on Debian 10, Debian 9 will update your system to the latest version.

sudo apt update
sudo apt -y upgrade

As there may be a kernel update, please consider rebooting the system after the upgrade.

sudo reboot

Step 2: Add SurýAPT repository

The PHP 8 package for Debian is available from the following website: DEB.SURY.ORG database. Install the required dependencies.

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

Add the PHP package APT repository to your Debian server.

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

Import the repository key:

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

Perform a package index update to confirm that the repository has been added:

$ sudo apt update
Hit:1 http://mirror.hetzner.de/debian/packages buster InRelease
Hit:2 http://security.debian.org buster/updates InRelease
Hit:3 http://mirror.hetzner.de/debian/packages buster-updates InRelease
Hit:4 http://mirror.hetzner.de/debian/packages buster-backports InRelease
Hit:5 http://mirror.hetzner.de/debian/security buster/updates InRelease
Hit:6 http://deb.debian.org/debian buster InRelease
Hit:7 http://deb.debian.org/debian buster-updates InRelease
Hit:8 http://deb.debian.org/debian buster-backports InRelease
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.

Step 3: Install PHP 8 on Debian 10 | Debian 9

After adding the repository, you can start installing PHP 8.0 on Debian 10. Debian 9:

sudo apt update 
sudo apt install php8.0

hit ÿ The key to start the installation:

....
Reading state information... Done
The following additional packages will be installed:
  apache2-bin libapache2-mod-php8.0 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libbrotli1 libgdbm-compat4 libjansson4 liblua5.2-0 libperl5.28
  libsodium23 perl php-common php8.0-cli php8.0-common php8.0-opcache php8.0-readline psmisc
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser php-pear perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make
  libb-debug-perl liblocale-codes-perl
Recommended packages:
  apache2
The following NEW packages will be installed:
  apache2-bin libapache2-mod-php8.0 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libbrotli1 libgdbm-compat4 libjansson4 liblua5.2-0 libperl5.28
  libsodium23 perl php-common php8.0 php8.0-cli php8.0-common php8.0-opcache php8.0-readline psmisc
0 upgraded, 20 newly installed, 0 to remove and 7 not upgraded.
Need to get 10.4 MB of archives.
After this operation, 55.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

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

Step 4: Install the PHP 8 extension on Debian 10 | Debian 9

Install PHP 8 extension on Debian 10 | Debian 9 uses the following command syntax:

sudo apt install php8.0-<extension>

where:

  • <扩展名> Replace with the actual extension.

Some of the available extensions are as follows:

$ sudo apt install php8.0-
php8.0-bcmath            php8.0-curl-dbgsym       php8.0-gmp-dbgsym        php8.0-mysql             php8.0-pspell-dbgsym     php8.0-tidy
php8.0-bcmath-dbgsym     php8.0-dba               php8.0-imap              php8.0-mysql-dbgsym      php8.0-readline          php8.0-tidy-dbgsym
php8.0-bz2               php8.0-dba-dbgsym        php8.0-imap-dbgsym       php8.0-odbc              php8.0-readline-dbgsym   php8.0-xdebug
php8.0-bz2-dbgsym        php8.0-dev               php8.0-interbase         php8.0-odbc-dbgsym       php8.0-snmp              php8.0-xml
php8.0-cgi               php8.0-enchant           php8.0-interbase-dbgsym  php8.0-opcache           php8.0-snmp-dbgsym       php8.0-xml-dbgsym
php8.0-cgi-dbgsym        php8.0-enchant-dbgsym    php8.0-intl              php8.0-opcache-dbgsym    php8.0-soap              php8.0-xsl
php8.0-cli               php8.0-fpm               php8.0-intl-dbgsym       php8.0-pgsql             php8.0-soap-dbgsym       php8.0-zip
php8.0-cli-dbgsym        php8.0-fpm-dbgsym        php8.0-ldap              php8.0-pgsql-dbgsym      php8.0-sqlite3           php8.0-zip-dbgsym
php8.0-common            php8.0-gd                php8.0-ldap-dbgsym       php8.0-phpdbg            php8.0-sqlite3-dbgsym
php8.0-common-dbgsym     php8.0-gd-dbgsym         php8.0-mbstring          php8.0-phpdbg-dbgsym     php8.0-sybase
php8.0-curl              php8.0-gmp               php8.0-mbstring-dbgsym   php8.0-pspell            php8.0-sybase-dbgsym

example:

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

Accept the installation prompt ÿ 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

Use the same installation format for all other PHP extensions available in the repository. To check which PHP modules are loaded, use the following command:

$ php -m

More guides on Debian:

Install Plex Media Server on Debian

Install PostgreSQL 13 on Debian

Install and configure Zabbix Server 5.0 LTS on Debian

You can download this article in PDF format via the link below to support us.
Download the guide in PDF formatturn off

Sidebar