Spread the love

PHP is widely used langauge in world of web. PHP is an open sourece language and free for everyone. It’s a server side scripting lanaguge which compiles on server and can embedded with html too.

Currently, there is three version are available of PHP that are as below

  1. PHP 5
  2. PHP 7
  3. PHP 8

In these 3 versions of PHP, PHP 7 is most stable version currently.

In this tutorial we will learn to install the PHP stable version in Ubuntu software repositories.

Let’s learn with step by step.

Step 1: Check stable version in the Ubuntu software repositories

sudo apt show php

it will show

Package: php
Version: 2:7.4+75
Priority: optional
Section: php
Source: php-defaults (75)
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 13.3 kB
Depends: php7.4
Download-Size: 2712 B
APT-Manual-Installed: yes
APT-Sources: http://ap-south-1.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Description: server-side, HTML-embedded scripting language (default)
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
 .
 This package is a dependency package, which depends on latest stable
 PHP version (currently 7.4).

Step 2: Install PHP default version

sudo apt install php

//or if we want some packages also

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-json php-zip php-mbstring


Step 3: Check PHP versions in CLI

php -v

It will show the output as below :

PHP 7.3.1 (cli) (built: Jul  5 2021 15:13:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.3.1, Copyright (c), by Zend Technologies

Step 4: Check in browser

Go to folder /var/www/html and create a file info.php

cd /var/www/html

Then type command to edit the or create a new file

sudo vi info.php

And type


<?php 
echo phpinfo();

Then, open http://ip_domain/info.php

how to Install different version of PHP?

Sometimes it’s required to install the different version of PHP rather then the default one of Ubuntu Repository System.

To install the different version we will follow the basic steps before installation of PHP

Step 1 : Add ppa:ondrej/php to Ubuntu system

Open the terminal or ssh connection and then type

//for <= ubunt 12.04
sudo apt install python-software-properties 
//for >12.04
sudo apt install software-properties-common

Then install ppa:ondrej

sudo add-apt-repository ppa:ondrej/php

Output:

Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions are included. Only Supported Versions of PHP (http://php.net/supported-versions.php) for Supported Ubuntu Releases (https://wiki.ubuntu.com/Releases) are provided. Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided.

Debian oldstable and stable packages are provided as well: https://deb.sury.org/#debian-dpa

You can get more information about the packages at https://deb.sury.org

IMPORTANT: The <foo>-backports is now required on older Ubuntu releases.

BUGS&FEATURES: This PPA now has a issue tracker:
https://deb.sury.org/#bug-reporting

CAVEATS:
1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman
2. If you are using apache2, you are advised to add ppa:ondrej/apache2
3. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline
   or ppa:ondrej/nginx

Step 2 : Update the system

 sudo apt-get update

Step 3 : Check php versions available

sudo apt show php

Output :

Package: php
Version: 2:8.0+84+ubuntu20.04.1+deb.sury.org+1
Priority: optional
Section: php
Source: php-defaults (84+ubuntu20.04.1+deb.sury.org+1)
Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org>
Installed-Size: 13.3 kB
Depends: php8.0
Download-Size: 6960 B
APT-Sources: http://ppa.launchpad.net/ondrej/php/ubuntu focal/main amd64 Packages
Description: server-side, HTML-embedded scripting language (default)
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
 .
 This package is a dependency package, which depends on latest stable
 PHP version (currently 8.0).

Package: php
Version: 2:7.4+75
Priority: optional
Section: php
Source: php-defaults (75)
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 13.3 kB
Depends: php7.4
Download-Size: 2712 B
APT-Manual-Installed: yes
APT-Sources: http://ap-south-1.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Description: server-side, HTML-embedded scripting language (default)
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
 .
 This package is a dependency package, which depends on latest stable
 PHP version (currently 7.4).

We can now install php 8.

Step 3 : Install different version of PHP

For apache you can now install any version

$ sudo apt install php5.6   [PHP 5.6]
$ sudo apt install php7.0   [PHP 7.0]
$ sudo apt install php7.1   [PHP 7.1]
$ sudo apt install php7.2   [PHP 7.2]
$ sudo apt install php7.3   [PHP 7.3]
$ sudo apt install php7.4   [PHP 7.4]
$ sudo apt install php8.0   [PHP 8.0]

For Nginx

$ sudo apt install php5.6-fpm   [PHP 5.6]
$ sudo apt install php7.0-fpm   [PHP 7.0]
$ sudo apt install php7.1-fpm   [PHP 7.1]
$ sudo apt install php7.2-fpm   [PHP 7.2]
$ sudo apt install php7.3-fpm   [PHP 7.3]
$ sudo apt install php7.4-fpm   [PHP 7.4]
$ sudo apt install php8.0-fpm   [PHP 8.0]

In this way you can install any version.

Install modules for any version

Simply type the version you want to install then type tab to show available module for specific module.

Example:

$ sudo apt install php7.0
php7.0                 php7.0-inotify         php7.0-readline
php7.0-amqp            php7.0-interbase       php7.0-recode
php7.0-apcu            php7.0-intl            php7.0-redis
php7.0-apcu-bc         php7.0-json            php7.0-rrd
php7.0-ast             php7.0-ldap            php7.0-smbclient
php7.0-bcmath          php7.0-lua             php7.0-snmp
php7.0-bz2             php7.0-lz4             php7.0-soap
php7.0-cgi             php7.0-mailparse       php7.0-sodium
php7.0-cli             php7.0-mbstring        php7.0-solr
php7.0-common          php7.0-mcrypt          php7.0-sqlite3
php7.0-curl            php7.0-memcache        php7.0-ssh2
php7.0-dba             php7.0-memcached       php7.0-stomp
php7.0-decimal         php7.0-mongodb         php7.0-sybase
php7.0-dev             php7.0-msgpack         php7.0-tideways
php7.0-ds              php7.0-mysql           php7.0-tidy
php7.0-enchant         php7.0-oauth           php7.0-uploadprogress
php7.0-facedetect      php7.0-odbc            php7.0-uuid
php7.0-fpm             php7.0-opcache         php7.0-vips
php7.0-gd              php7.0-pgsql           php7.0-xdebug
php7.0-gearman         php7.0-phalcon3        php7.0-xhprof

Example:

sudo apt install php7.0-cli php7.0-xml php7.0-mysql 

Set Default PHP Version in Ubuntu

Now, we have installed multiple versions of php but at a time we can use one so let’s choose one PHP version

Step 1 : To check available versions of PHP

sudo update-alternatives --config php

Output:

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php7.4   74        auto mode
  1            /usr/bin/php7.0   70        manual mode
  2            /usr/bin/php7.4   74        manual mode
Press <enter> to keep the current choice[*], or type selection number:

Enter the number and you have successfully changed the version of PHP.

Step 2 : Check version of php

$ php -v

One thought on “How to install PHP on Ubuntu?

Leave a Reply