How to Install PHP on Ubuntu 18.04

Updated on

4 min read

Install PHP on Ubuntu 18.04

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:

/var/www/html/info.php
<?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:

phpinfo Ubuntu

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.

  1. Start by enabling the Ondrej PHP repository:

    sudo apt install software-properties-commonsudo add-apt-repository ppa:ondrej/php
  2. 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
  3. 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:

  1. Enable the Ondrej PHP repository by typing:

    sudo apt install software-properties-commonsudo add-apt-repository ppa:ondrej/php
  2. 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
  3. 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:

How to Install PHP on Ubuntu 18.04