How to install PHP on Ubuntu 18.04

s2 0

In this tutorial we will cover the steps necessary to install the distribution’s standard 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.

requirements

Before starting this tutorial, make sure you are logged in as a user with sudo permissions.

Install PHP 7.2 with Apache

If you are using Apache as your web server to install PHP and the 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

Install PHP 7.2 with Nginx

Unlike Apache, Nginx doesn’t have built-in support for processing PHP files, so we need to install a separate application like PHP FPM (“fastCGI process manager”) that processes 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 to allow Nginx to process PHP files:

server {

    # . . . other code

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

Don’t forget to restart the Nginx service for the new configuration to take effect:

sudo systemctl restart nginx

Install PHP extensions

To extend the core functionality of PHP, you can install a few 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, run the following command:

sudo apt install php-mysql php-gd

After installing a new PHP extension, don’t forget to restart the Apache or the PHP-FPM service, depending on your setup.

Test PHP processing

To test that your web server is properly configured for PHP processing, create a new file called info.php within the /var/www/html Directory with the following code:

/var/www/html/info.php
<?php

phpinfo();

Save the file, open the browser of your choice and visit https://your_server_ip/info.php

the phpinfo -Function prints information about your PHP configuration as shown in the picture below:

Install PHP 7.3 on Ubuntu 18.04

PHP 7.3 is the latest stable version of PHP. Follow the steps below to install PHP 7.3 on Ubuntu 18.04.

  1. Start by activating 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 popular 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 out 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

Install PHP 7.1 on Ubuntu 18.04

Use PHP 7.1 only when installing applications that are incompatible 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 some of the most popular 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 How to Install and Set Up a PHP Project Using Composer.

If you have any questions or feedback, don’t hesitate to leave a comment.

This post is part of the how-installed-lemp-stack-on-ubuntu-18-04 Series.
Further articles in this series:


How to install Nginx on Ubuntu 18.04

How to set up Nginx server blocks on Ubuntu 18.04

Secure Nginx with Let’s Encrypt on Ubuntu 18.04

How to install MySQL on Ubuntu 18.04

How to install PHP on Ubuntu 18.04

This post is part of the how-installed-lemp-stack-on-ubuntu-18-04 Series.
Further articles in this series:


How to install Nginx on Ubuntu 18.04

How to set up Nginx server blocks on Ubuntu 18.04

Secure Nginx with Let’s Encrypt on Ubuntu 18.04

How to install MySQL on Ubuntu 18.04

How to install PHP on Ubuntu 18.04

How to install Nginx on Ubuntu 18.04

How to set up Nginx server blocks on Ubuntu 18.04

Secure Nginx with Let’s Encrypt on Ubuntu 18.04

How to install MySQL on Ubuntu 18.04

How to install PHP on Ubuntu 18.04