How to Install PHP on Ubuntu 18.04
Updated on
•6 min read

In this tutorial we will cover the steps necessary to install the distro’s default PHP 7.2 on Ubuntu 18.04 and integrate it with Nginx and Apache. We’ll also show you how to install PHP 7.1 and 7.3.
Most of the popular PHP frameworks and applications including WordPress , Laravel , Drupal and Nextcloud are compatible with PHP 7.2.
Prerequisites
Before starting with this tutorial, make sure you are logged in as a user with sudo privileges .
Installing PHP 7.2 with Apache
If you are using Apache as your web server to install PHP and Apache PHP module run the following command:
sudo apt install php libapache2-mod-php
Once the packages are installed restart the Apache service:
sudo systemctl restart apache2
Installing PHP 7.2 with Nginx
Unlike Apache, Nginx doesn’t have a built in support for processing PHP files so we need to install a separate application such as PHP FPM (“fastCGI process manager”) which will handle PHP files.
To install the PHP and PHP FPM packages run the following command:
sudo apt install php-fpm
Once the packages are installed you can check the status of the PHP FPM service with:
systemctl status php7.2-fpm
* php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-06-30 23:56:14 PDT; 1min 28s ago
Docs: man:php-fpm7.2(8)
Main PID: 10080 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 2321)
CGroup: /system.slice/php7.2-fpm.service
|-10080 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
You can now edit the Nginx server block and add the following lines so that Nginx can process PHP files:
server {
# . . . other code
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
Do not forget to restart the Nginx service so that the new configuration take effect:
sudo systemctl restart nginx
Installing PHP extensions
To extend the core functionality of PHP you can install some additional extensions. PHP extensions are available as packages and can be easily installed with:
sudo apt install php-[extname]
For example if you want to install MySQL and GD PHP extensions you would run the following command:
sudo apt install php-mysql php-gd
After installing a new PHP extension do not forget to restart the Apache or the PHP FPM service, depending on your setup.
Testing PHP Processing
To test whether your web server is configured properly for PHP processing, create a new file called info.php inside the /var/www/html
directory with the following code:
<?php
phpinfo();
Save the file, open your browser of choice and visit http://your_server_ip/info.php
The phpinfo
function will print information about your PHP configuration as shown on the image below:

Installing PHP 7.3 on Ubuntu 18.04
PHP 7.3 is the latest stable release of PHP. Perform the steps below to install PHP 7.3 on on Ubuntu 18.04.
Start by enabling the Ondrej PHP repository:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Install PHP 7.3 and some of the most common PHP modules:
sudo apt install php7.3 php7.3-common php7.3-opcache php7.3-cli php7.3-gd php7.3-curl php7.3-mysql
To verify the installation, run the following command which will print the PHP version:
php -v
PHP 7.3.1-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jan 13 2019 10:19:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.1-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
Installing PHP 7.1 on Ubuntu 18.04
Use PHP 7.1 only if you’re going to install applications that is not compatible with PHP 7.2.
Follow the steps below to install PHP 7.1:
Enable the Ondrej PHP repository by typing:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Install PHP 7.1 and few most common PHP modules:
sudo apt install php7.1 php7.1-common php7.1-opcache php7.1-mcrypt php7.1-cli php7.1-gd php7.1-curl php7.1-mysql
Verify the installation, by typing:
php -v
PHP 7.1.20-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jul 25 2018 10:07:09) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.20-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
Conclusion
You have successfully installed PHP on your Ubuntu 18.04 server. You can also read about how to How to Install and Set up a PHP Project with Composer .
If you have any questions or feedback, do not hesitate to leave a comment.
This post is a part of the how-to-install-lemp-stack-on-ubuntu-18-04 series.
Other posts in this series: