Skip to content
Readerstacks logo Readerstacks
  • Home
  • Softwares
  • Angular
  • Php
  • Laravel
  • Flutter
Readerstacks logo
Readerstacks
install php 8 in ubuntu

How to install PHP 8.0 in Ubuntu 20.04 LTS ?

Aman Jain, September 18, 2021November 5, 2023

In this tutorial we will learn to install PHP 8.0 on Ubuntu 20.04 LTS using PPA. PHP 8.0 is the latest version of php and it have many upgrades. Installation process is same as How to install PHP on Ubuntu? or How to Install multiple/different version 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 4 : 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. so finally we are installing PHP 8.0 with some basic important modules

sudo apt install php8.0

Step 5 : Check installed versions of PHP

sudo update-alternatives --config php

Output :

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

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.0   80        auto mode
  1            /usr/bin/php7.0   70        manual mode
  2            /usr/bin/php7.4   74        manual mode
  3            /usr/bin/php8.0   80        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

As we can see PHP 8.0 is installed and we have selected it as default by pressing 1.

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 php8.0
php8.0                 php8.0-inotify         php8.0-rrd
php8.0-amqp            php8.0-interbase       php8.0-smbclient
php8.0-apcu            php8.0-intl            php8.0-snmp
php8.0-ast             php8.0-ldap            php8.0-soap
php8.0-bcmath          php8.0-lz4             php8.0-solr
php8.0-bz2             php8.0-mailparse       php8.0-sqlite3
php8.0-cgi             php8.0-maxminddb       php8.0-ssh2
php8.0-cli             php8.0-mbstring        php8.0-swoole
php8.0-common          php8.0-mcrypt          php8.0-sybase
php8.0-curl            php8.0-memcache        php8.0-tidy
php8.0-dba             php8.0-memcached       php8.0-uopz
php8.0-decimal         php8.0-mongodb         php8.0-uploadprogress
php8.0-dev             php8.0-msgpack         php8.0-uuid
php8.0-ds              php8.0-mysql           php8.0-vips
php8.0-enchant         php8.0-oauth           php8.0-xdebug
php8.0-fpm             php8.0-odbc            php8.0-xhprof
php8.0-gd              php8.0-opcache         php8.0-xml
php8.0-gearman         php8.0-pcov            php8.0-xmlrpc
php8.0-gmagick         php8.0-pgsql           php8.0-xsl
php8.0-gmp             php8.0-phpdbg          php8.0-yac
php8.0-gnupg           php8.0-protobuf        php8.0-yaml
php8.0-grpc            php8.0-pspell          php8.0-zip
php8.0-http            php8.0-psr             php8.0-zmq

Example:

sudo apt install php8.0-cli php8.0-xml php8.0-mysql libapache2-mod-php8.0

here we are installing few modules for PHP 8.

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

Related

Devops Php Ubuntu

Post navigation

Previous post
Next post

Related Posts

Php How to use conditional orderby in Laravel 8

How to use conditional orderBy clause in Laravel 8 eloquent ?

February 12, 2022October 4, 2022

In Laravel sometimes while creating a eloquent or db builder query you wanted to apply the orderBy clause on basis of some conditions and to achieve it you may use if else condition but laravel 8 itself provides solution to handle such type of situations using when method. Laravel eloquent…

Read More
Php Simplest Way to Use Roles and Permission in Laravel

Simplest Way to Use Roles and Permission in Laravel

August 23, 2022March 16, 2024

Roles and permission in laravel are used to provide roles based authentication and in this post we will learn simplest wat to use roles and permission in laravel. In our application we want features and modules on basis of roles or permissions so that we can restrict users to access…

Read More
Php Create multi language website in Laravel

How to create multi language website in Laravel 8 / 9 with example?

November 25, 2021May 10, 2022

Laravel provides its own localization library to handle the multi language feature in application. Laravel stores each languages translations in resource/lang . If you are going to build a full featured multi language website then you are at right place to end your search. In this article i will show…

Read More

Aman Jain
Aman Jain

With years of hands-on experience in the realm of web and mobile development, they have honed their skills in various technologies, including Laravel, PHP CodeIgniter, mobile app development, web app development, Flutter, React, JavaScript, Angular, Devops and so much more. Their proficiency extends to building robust REST APIs, AWS Code scaling, and optimization, ensuring that your applications run seamlessly on the cloud.

Categories

  • Angular
  • CSS
  • Dart
  • Devops
  • Flutter
  • HTML
  • Javascript
  • jQuery
  • Laravel
  • Laravel 10
  • Laravel 11
  • Laravel 9
  • Mysql
  • Php
  • Softwares
  • Ubuntu
  • Uncategorized

Archives

  • June 2025
  • May 2025
  • April 2025
  • October 2024
  • July 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • July 2023
  • March 2023
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Recent Posts

  • The Resilience of Nature: How Forests Recover After Fires
  • Understanding Laravel Cookie Consent for GDPR Compliance
  • Understanding High Vulnerabilities: A Critical Overview of the Week of May 12, 2025
  • Installing a LAMP Stack on Ubuntu: A Comprehensive Guide
  • Understanding High Vulnerabilities: A Deep Dive into Recent Security Concerns
©2023 Readerstacks | Design and Developed by Readerstacks
Go to mobile version