Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

How To Install PHP 8.

0 on
Debian 11/10/9
By
Josphat Mutai
-

In this short guide we will show you how to install PHP 8.0 on Debian 11 |
Debian 10 | Debian 9. PHP a powerful scripting language for web
development. Any PHP script can be executed on a Linux, Windows, macOS
and Unix system with PHP runtime installed. As of this article writing PHP 8 is
available for installation on Debian 11/10/9 Linux machine.

In our previous guide we discussed installation of PHP 8 on the following:

 Installation of PHP 8.0 on CentOS 8/7

 Install PHP 8 on Ubuntu


The official release of PHP 8 is November 26, 2020. This major release of PHP
comes with lots of new features and performance improvements.

You should also expect new breaking changes which means some
modifications in your code may be needed to get it running on PHP 8. Some
of the nice set of new features coming with PHP 8 are the JIT compiler,
named arguments, union types, attributes, and many more.

Step 1: Update System


Before you start installation of PHP 8 on Debian 11/10/9 update your system
to the latest release.
sudo apt update

sudo apt -y upgrade

Since there could be kernel updates consider system reboot after the
upgrade.

sudo reboot

Step 2: Add Surý APT repository


PHP 8 packages for Debian are available on the DEB.SURY.ORG repository.
Install required dependencies.

sudo apt update

sudo apt install -y lsb-release ca-certificates apt-


transport-https software-properties-common

Add the PHP packages 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 repository key:

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


key add -

Perform package index update to confirm 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 11 | Debian 10 |


Debian 9
With the repository added you can begin the installation of PHP 8.0 on
Debian 11/10/9:

sudo apt update

sudo apt install php8.0

Hit the y key to start 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.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

Step 4: Install PHP 8 Extensions on Debian 11/10/9

To install PHP 8 extensions on Debian use the following command syntax:

sudo apt install php8.0-<extension>

Where:
 <extension> is replaced with the actual extension name.
Some available extensions are as shown below:

$ 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 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

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

$ php -m

You might also like