In this tutorial, we are going to provide you with step by step instructions on how to install PHP 7 on an Ubuntu 16.04 VPS and on a CentOS 7 VPS. PHP 7 is the latest version of the PHP processing engine and it is faster than any other previous version of PHP. Also, PHP 7 consumes less memory.
Install PHP 7 on Ubuntu
Make sure your server OS packages are fully up to date by running the following commands:
sudo apt-get update sudo apt-get upgrade
Install PHP and commonly used PHP packages:
sudo apt-get install php7.0-cli php7.0-common php7.0-json php7.0-readline php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-gd
To make sure that PHP 7 is installed on your server, run the following command:
sudo php -v
You should get an output like this:
PHP 7.0.13-0ubuntu0.16.04.1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.13-0ubuntu0.16.04.1, Copyright (c) 1999-2016, by Zend Technologies
If you’d like to install additional PHP 7 modules, like OPCache for example, you can use the command below:
sudo apt-get install php7.0-opcache
In order to search for available PHP 7 modules, run:
sudo apt-cache search php7
To see which files are used by PHP in CLI mode, run:
# php --ini Configuration File (php.ini) Path: /etc/php/7.0/cli Loaded Configuration File: /etc/php/7.0/cli/php.ini Scan for additional .ini files in: /etc/php/7.0/cli/conf.d Additional .ini files parsed: /etc/php/7.0/cli/conf.d/10-mysqlnd.ini, /etc/php/7.0/cli/conf.d/10-opcache.ini, /etc/php/7.0/cli/conf.d/10-pdo.ini, /etc/php/7.0/cli/conf.d/15-xml.ini, /etc/php/7.0/cli/conf.d/20-calendar.ini, /etc/php/7.0/cli/conf.d/20-ctype.ini, /etc/php/7.0/cli/conf.d/20-dom.ini, /etc/php/7.0/cli/conf.d/20-exif.ini, /etc/php/7.0/cli/conf.d/20-fileinfo.ini, /etc/php/7.0/cli/conf.d/20-ftp.ini, /etc/php/7.0/cli/conf.d/20-gd.ini, /etc/php/7.0/cli/conf.d/20-gettext.ini, /etc/php/7.0/cli/conf.d/20-iconv.ini, /etc/php/7.0/cli/conf.d/20-json.ini, /etc/php/7.0/cli/conf.d/20-mcrypt.ini, /etc/php/7.0/cli/conf.d/20-mysqli.ini, /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini, /etc/php/7.0/cli/conf.d/20-phar.ini, /etc/php/7.0/cli/conf.d/20-posix.ini, /etc/php/7.0/cli/conf.d/20-readline.ini, /etc/php/7.0/cli/conf.d/20-shmop.ini, /etc/php/7.0/cli/conf.d/20-simplexml.ini, /etc/php/7.0/cli/conf.d/20-sockets.ini, /etc/php/7.0/cli/conf.d/20-sysvmsg.ini, /etc/php/7.0/cli/conf.d/20-sysvsem.ini, /etc/php/7.0/cli/conf.d/20-sysvshm.ini, /etc/php/7.0/cli/conf.d/20-tokenizer.ini, /etc/php/7.0/cli/conf.d/20-wddx.ini, /etc/php/7.0/cli/conf.d/20-xmlreader.ini, /etc/php/7.0/cli/conf.d/20-xmlwriter.ini, /etc/php/7.0/cli/conf.d/20-xsl.ini
If you only want to locate your php.ini configuration file, use:
# php -i | grep -i php.ini Configuration File (php.ini) Path => /etc/php/7.0/cli Loaded Configuration File => /etc/php/7.0/cli/php.ini
The PHP Opcache extension can boost PHP performance by a large amount, so edit the PHP configuration file:
vi /etc/php/7.0/cli
Add the following lines in the ‘[opcache]’ section:
opcache.enable=1; opcache.memory_consumption=256; opcache.max_accelerated_files=20000; opcache.max_wasted_percentage=10; opcache.revalidate_freq=360; opcache.fast_shutdown=0; opcache.enable_cli=0; opcache.revalidate_path=0; opcache.validate_timestamps=0; opcache.interned_strings_buffer=32; opcache.fast_shutdown=1;
Do not forget to restart the web server for the changes to take effect:
service apache2 restart
Install PHP 7 on CentOS
Make sure that all OS packages are up to date:
yum clean all yum update
Check if there are any installed PHP packages, e.g:
rpm -qa | grep php
php-cli-5.4.16-42.el7.x86_64 php-pdo-5.4.16-42.el7.x86_64 php-common-5.4.16-42.el7.x86_64 php-5.4.16-42.el7.x86_64 php-mysql-5.4.16-42.el7.x86_64
Remove PHP 5.4 packages prior installing PHP 7:
yum remove php-cli php-pdo php-common php php-mysql
Add the required repositories:
cd /opt wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm rpm -Uvh epel-release-latest-7.noarch.rpm rpm -Uvh webtatic-release.rpm
Install PHP 7 and PHP 7 packages:
yum install php70w php70w-cli php70w-mysql php70w-pdo php70w-common
To search for available PHP7 modules, run:
yum search php70w
You may install additional PHP extensions, like mycrypt, mbstring, OPCache etc.:
yum install php70w-opcache php70w-mcrypt php70w-mbstring
Check the PHP 7 version installed on your server:
#php -v PHP 7.0.15 (cli) (built: Jan 19 2017 21:35:05) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.15, Copyright (c) 1999-2017, by Zend Technologies
To optimize PHP 7, locate the PHP configuration file and edit it:
#php -i | grep -i php.ini Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini
vi /etc/php.ini
Add the following lines:
max_execution_time: 600 max_input_time: 600 max_input_vars: 5000 upload_max_filesize: 64M
Also, enable OPCache and configure it by adding the same settings in the ‘[opcache]’ section as on the Ubuntu 16.04 VPS.
Restart the Apache web server for the changes to take effect:
systemctl restart httpd
Of course, you don’t have to do any of this if you use one of our Software Installation services, in which case you can simply ask our expert Linux admins to install PHP 7 for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.