How to Install PHP 8.0 on Ubuntu 20.04 / 18.04

PHP is arguably one of the most widely used server-side programming languages. It’s the language of choice when developing dynamic and responsive websites. In fact, popular CM platforms such as WordPress, Drupal, and Magento are based on PHP.

At the time of penning down this guide, the latest version of PHP is PHP 8.0. It was released on November 26, 2020. It boasts of new features and optimizations such as union types, named arguments, null safe operator, match expression, JIT, and improvements in error handling and consistency.

This tutorial walks you through the installation of PHP 8.0 on Ubuntu 20.04 / 18.04.

Step 1: Add the Ondřej Surý PPA Repository

PHP 7.4 is the default PHP version in Ubuntu 20.04 repositories at the time of writing this tutorial. To install the latest version of PHP, we are going to use the Ondrej PPA repositories. This repository contains multiple PHP versions and PHP extensions.

But first, let’s update your Ubuntu system packages and install some dependencies as shown.

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install  ca-certificates apt-transport-https software-properties-common

Next, add the Ondrej PPA.

$ sudo add-apt-repository ppa:ondrej/php

When prompted, press ENTER to proceed with adding the repository.

Add Ondrej PPA
Add Ondrej PPA

Step 2: Install PHP 8.0 with Apache on Ubuntu

Next, update the system repositories to start using the PPA.

$ sudo apt update

If you are running the Apache web server, install PHP 8.0 with the Apache module as shown.

$ sudo apt install php8.0 libapache2-mod-php8.0 
Install PHP 8 in Ubuntu
Install PHP 8 in Ubuntu

Next, restart the Apache webserver to enable the module.

$ sudo systemctl restart apache2

If you want to use Apache webserver with PHP-FPM, run the command below to install the required packages:

$ sudo apt install php8.0-fpm libapache2-mod-fcgid

Since PHP-FPM is not enabled by default, enable it by invoking the following commands:

$ sudo a2enmod proxy_fcgi setenvif
$ sudo a2enconf php8.0-fpm

Then restart the Apache webserver for the changes to come into effect.

$ sudo systemctl restart apache2
Enable PHP-FPM in Apache
Enable PHP-FPM in Apache

Step 2: Install PHP 8.0 with Nginx on Ubuntu

If you choose to use PHP 8.0 with Nginx installation, the most recommended step to take is to install PHP-FPM to process PHP files.

Therefore, install PHP and PHP-FPM using the following command:

$ sudo apt install php8.0-fpm

The PHP-FPM service should start automatically. You can verify this as shown:

$ sudo systemctl status php8.0-fpm
Verify PHP-FPM in Nginx
Verify PHP-FPM in Nginx

For Nginx to process PHP files, configure your Nginx server block by updating the server section as shown:

server {

   # ... some other code

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;

Finally, restart the Nginx web server for the changes to come into effect.

$ sudo systemctl restart nginx

Step 4: Install PHP 8 Extensions in Ubuntu

PHP extensions are libraries that extend the functionality of PHP. These extensions exist as packages and can be installed as follows:

$ sudo apt install php8.0-[extension-name]

For instance, the example below installs the SNMP, Memcached, and MySQL extensions.

$ sudo apt install php8.0-snmp php-memcached php8.0-mysql

Step 5: Verify PHP 8 Installation in Ubuntu

To confirm the version of PHP installed, run the command:

$ php -v
Verify PHP in Ubuntu
Verify PHP in Ubuntu

Additionally, you can create a sample php file at /var/www/html as shown:

$ sudo vim /var/www/html/info.php

Paste the following lines and save the file.




Finally, head over to your browser and browse the server’s IP address as shown.


You should get the webpage shown.

Check PHP 8 Info in Ubuntu
Check PHP 8 Info in Ubuntu

It’s our hope that you can now install PHP 8.0 and comfortably integrate it with either Apache or Nginx web servers. Your feedback is most welcome.

Tutorial Feedback...
Was this article helpful? If you don't find this article helpful or found some outdated info, issue or a typo, do post your valuable feedback or suggestions in the comments to help improve this article...

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

7 thoughts on “How to Install PHP 8.0 on Ubuntu 20.04 / 18.04”

  1. WordPress complaining that the mysql extension is missing when updated to php8 also says I have version 8.1. Tried installing the module on apache as:

    $ sudo apt-get install php8.1-mysql

    and nothing happens…

  2. cURL is not installed. it should be installed for “WordPress Pinterest To WordPress” to work!

    Web Stories plugin could not be initialized.

    • The following PHP extension is missing: dom. Please contact your host to finish the installation.
    • The following PHP classes are missing: DOMAttr, DOMComment, DOMDocument, DOMElement, DOMNode, DOMNodeList, DOMText, DOMXPath. Please contact your host to finish the installation.

    WP Google Maps: This plugin uses the DOMDocument class, which is unavailable on this server. Please contact your host to request they enable this library.


Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.