The PHP 7.4 is the latest version available for installation on Debian 9 Stretch Linux machine. Ubuntu users can visit our tutorial for installing PHP 7 on Ubuntu. This tutorial is for the Debian 9 Stretch users to install PHP 7.4, 7.3, 7.2, 7.1 or 5.6 on their system.

Advertisement

First of all, you need to complete the prerequisites step and then go forward to install the PHP version of your choice or requirements.

Prerequisites

Login to your Debian 9 system using shell access. For remote systems connect with SSH. Windows users can use Putty or other alternatives applications for SSH connection.

ssh root@debian9

Run below commands to upgrade the current packages to the latest version.

sudo apt update 
sudo apt upgrade

Let’s execute the following commands to install the required packages first on your system. Then import packages signing key. After that configure PPA for the PHP packages on your system.

sudo apt install ca-certificates apt-transport-https 
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list

Now use one of the below options to install PHP of your requirements.

Installing PHP 7.4

You can also install the latest PHP version on your system. Run the following commands to install PHP 7.4 on Debian 9.

sudo apt update
sudo apt install php7.4

Also install required php modules.

sudo apt install php7.4-cli php7.4-common php7.4-curl php7.4-mbstring php7.4-mysql php7.4-xml

Installing PHP 7.3

You can also install the latest PHP version on your system. Run the following commands to install PHP 7.3 on Debian 9.

sudo apt update
sudo apt install php7.3

Also install required php modules.

sudo apt install php7.3-cli php7.3-common php7.3-curl php7.3-mbstring php7.3-mysql php7.3-xml

Installing PHP 7.2

You can also install the latest PHP version on your system. Run the following commands to install PHP 7.2 on Debian 9.

sudo apt update
sudo apt install php7.2

Also install required php modules.

sudo apt install php7.2-cli php7.2-common php7.2-curl php7.2-mbstring php7.2-mysql php7.2-xml

Installing PHP 7.1

If your application has the specific requirement of PHP 7.1, You can use the following commands for installing PHP 7.1 on Debian 9 Stretch system.

sudo apt update
sudo apt install php7.1

Also, install the required PHP modules as per your requirements. Here is a list of some frequently used modules.

sudo apt install php7.1-cli php7.1-common php7.1-curl php7.1-mbstring php7.1-mysql php7.1-xml

Installing PHP 5.6

Execute the following commands for installing PHP 5.6 on your Debian 9 Stretch system.

sudo apt update
sudo apt install php5.6

Also install required php modules.

sudo apt install php5.6-cli php5.6-common php5.6-curl php5.6-mbstring php5.6-mysql php5.6-xml
Share.

34 Comments

  1. This method installs command line php not the apache server parser. Your php script will still be running old version. Just run phpinfo() and see it by your self.

  2. Gonzalo Oviedo on

    This answer is not in StackOverflow.

    Something so simple like adding in source.list the php sources, allows you to download the php7.3-curl

  3. I have the same problem as some others:

    # apt install php7.3
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    php7.3 : Depends: libapache2-mod-php7.3 but it is not going to be installed or
    php7.3-fpm but it is not going to be installed or
    php7.3-cgi but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.

    I currently have PHP 7.0 installed on my server, I tried to remove it but this does not help.

  4. # apt install php7.3-cli
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    php7.3-cli : Depends: libpcre2-8-0 (>= 10.32) but 10.22-3 is to be installed
    E: Unable to correct problems, you have held broken packages.

  5. Hi i try for long time to install php5.6 on my debian 5.6 bur when i execut this command.
    ” sudo apt install php5.6″ =>

    jawad@vps591916:~$ sudo apt install php5.6
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    php5.6 : Depends: libapache2-mod-php5.6 but it is not going to be installed or
    php5.6-fpm but it is not going to be installed or
    php5.6-cgi but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.

    Help me please !!!

  6. Instruction desn’t work for me in the stretch:

    root@d7b02380d29b:/workdir# wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add –
    OK
    root@d7b02380d29b:/workdir# echo “deb https://packages.sury.org/php/ stretch main” | tee /etc/apt/sources.list.d/php.list
    deb https://packages.sury.org/php/ stretch main
    root@d7b02380d29b:/workdir# apt update -y
    Hit:1 http://security.debian.org/debian-security stretch/updates InRelease
    Ign:2 http://deb.debian.org/debian stretch InRelease
    Hit:3 http://security.debian.org/debian-security buster/updates InRelease
    Hit:4 http://deb.debian.org/debian stretch-updates InRelease
    Hit:5 http://deb.debian.org/debian buster InRelease
    Hit:6 http://deb.debian.org/debian buster-updates InRelease
    Hit:7 http://deb.debian.org/debian stretch Release
    Hit:8 https://packages.sury.org/php stretch InRelease
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    11 packages can be upgraded. Run ‘apt list –upgradable’ to see them.
    root@d7b02380d29b:/workdir# apt install php7.3
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package php7.3 is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source

    E: Package ‘php7.3’ has no installation candidate

  7. Installing PHP 7.3
    You can also install the Latest PHP version on your system. Run the following commands to install PHP 7.2 on Debian 9.

    Check this please

  8. Hey! You have a typo here:

    apt install php7.1-cli php7.1-common php7.1-curlphp7.1-mbstring php7.1-mysql php7.1-xml

    There must be an space after *curl*

    Thanks!

  9. dpkg: erro ao processar o pacote nginx (–configure):
    problemas de dependência – deixando desconfigurado
    Erros foram encontrados durante o processamento de:
    nginx-full
    nginx
    hi, cam u help me, how cam resovel this problen

  10. Thanks a lot! I spent a lot of time building from source of old packages without success and you saved me! 🙂

    • Hi Temek,

      php7.2-common is included in the command. FPM and CGI packages are optional and install only on the requirement, That’s why I didn’t include them with command.

Exit mobile version