Google Cloud Linux

How to Upgrade PHP Version to PHP 8.0 on Ubuntu

Disclosure: This post may contain affiliate links, which means we may receive a commission if you click a link and purchase something that we recommended.

Pinterest LinkedIn Tumblr

Upgrade PHP version to PHP 8.0 on Ubuntu. You can upgrade your current PHP version to the latest release PHP 8.0 on your Ubuntu.

This upgrade is tested on virtual machine instance running Ubuntu 20.04 OS on Google Cloud Compute Engine. So the steps mentioned in this guide works on any cloud servers like AWS, DigitalOcean, Linode, Vultr or any VPS or Dedicated servers running Ubuntu OS.

Here is a brief guide to show you how to install and upgrade to PHP 8.0 on Ubuntu LTS with Apache and PHP8.0-fpm with Nginx.

Add PPA for PHP 8.0

Add the ondrej/php which has PHP 8.0 package and other required PHP extensions.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Once you have added the PPA you can install PHP 8.0.

Install PHP 8.0 for Apache

Execute the following command to install PHP 8.0

sudo apt install php8.0

Install PHP 8.0 Extensions

Installing PHP extensions are simple with the following syntax.

sudo apt install php8.0-extension_name

Now, install some commonly used php-extensions with the following command.

sudo apt install php8.0-common php8.0-mysql php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip php8.0-intl -y

After the installation has completed, you can confirm the installation using the following command

php -v

Enable PHP 8.0 for Apache

Now you need to tell Apache to use the installed version of PHP 8.0 by disabling the old PHP module (below I have mentioned php7.4, you need to use your current php version used by Apache) and enabling the new PHP module using the following command.

sudo a2dismod php7.4
sudo a2enmod php8.0

Restart Apache for the changes to take effect.

sudo service apache2 restart

Install PHP 8.0 FPM for Nginx

For Nginx you need to install FPM, execute the following command to install PHP 8.0 FPM

sudo apt install php8.0-fpm

Follow the same method above mentioned to install the extensions

After the installation has completed, confirm that PHP 8.0 FPM has installed correctly with this command

php-fpm8.0 -v

Modify Nginx configuration to use PHP 8.0

For Nginx you need to update the PHP-FPM socket in your Nginx configration located inside the sites-available directory. This will be located inside the location block location ~ \.php$

Edit your configuration…

sudo nano /etc/nginx/sites-available/your.conf

The line you need to modify will look like this…

fastcgi_pass unix:/run/php/php7.4-fpm.sock; 

You need to replace the old PHP version with the new version.

fastcgi_pass unix:/run/php/php8.0-fpm.sock; 

Test your configration.

sudo nginx -t

Save the file and exit the editor and restart Nginx for the changes to take effect.

sudo service nginx restart

Configure PHP 8.0

Now we configure PHP for Web Applications by changing some values in php.ini file.

For PHP 8.0 with Apache the php.ini location will be in following directory.

sudo nano /etc/php/8.0/apache2/php.ini

For PHP 8.0 FPM with Nginx the php.ini location will be in following directory.

sudo nano /etc/php/8.0/fpm/php.ini

Hit F6 for search inside the editor and update the following values for better performance.

upload_max_filesize = 32M 
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Once you have modified your PHP settings you need to restart your Apache for the changes to take effect.

Configure PHP 8.0 FPM Pools

PHP 8.0 FPM allows you to configure the user and group that the service will run under. You can modify these with these commands

sudo nano /etc/php/8.0/fpm/pool.d/www.conf

Change the following lines by replacing the www-data with your username.

user = username 
group = username 
listen.owner = username = username

Hit CTRL+X and Y to save the configuration and check if the configuration is correct and restart PHP.

Restart PHP 8.0 FPM

Once you have updated your PHP FPM settings you need to restart it to apply the changes.

sudo php-fpm8.0 -t 
sudo service php8.0-fpm restart

Prepare yourself for a role working as an Information Technology Professional with Linux operating system


Now you have learned how to upgrade PHP to PHP 8.0 on Ubuntu and configure settings for Apache and PHP-FPM for Nginx.

Thanks for your time. If you face any problem or any feedback, please leave a comment below.


  1. This is helpful, thanks!
    One question: why change the user and group the service runs under?

Write A Comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.