How to install PHP 7 on a cPanel/WHM Server

Managed Dedicated Servers
cd /usr/local/
mkdir php7.0
cd php7.0
wget http://php.net/distributions/php-7.0.1.tar.gz
tar -xvf php-7.0.1.tar.gz
cd php-7.0.1

Run ./configure –help to see all available options first

./configure  --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd-native-ttf --enable-libxml --enable-mbstring --enable-pdo=shared --enable-sockets --enable-zip --prefix=/usr/local/php70  --with-curl=/opt/curlssl/ --with-freetype-dir=/usr --with-gd --with-gettext --with-imap=/opt/php_with_imap_client/ --with-imap-ssl=/usr --with-jpeg-dir=/usr --with-kerberos --with-libdir=lib64 --with-libxml-dir=/opt/xml2/ --with-mcrypt=/opt/libmcrypt/ --with-mysqli --with-openssl=/usr --with-openssl-dir=/usr --with-pcre-regex=/opt/pcre --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-pic --with-png-dir=/usr --with-xpm-dir=/usr --with-zlib --with-zlib-dir=/usr

make
make test
make install

cd /usr/local/php70/bin
./php -v

Running ./php -v in the /usr/local/php70/bin folder should give you something like this:

PHP 7.0.1 (cli) (built: Dec 18 2015 03:53:53) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

Here’s some simple extensions added based on the basic php.ini template

cp -f /usr/local/php7.0/php-7.0.1/php.ini-production /usr/local/php70/lib/php.ini

echo "extension=pdo.so" >> /usr/local/php70/lib/php.ini
echo "extension=pdo_mysql.so" >> /usr/local/php70/lib/php.ini
echo "zend_extension=opcache.so" >> /usr/local/php70/lib/php.ini

At this point you can delete the /usr/local/php7.0 folder (the source code)

We need to create a configuration file for apache in order to be able to add the php7 handler so, to do that, open up a new file: /usr/local/apache/conf/php7.conf and paste the code below. Don’t forget to modify the “Directory” path regex to suit your needs.

vi /usr/local/apache/conf/php7.conf
<IfModule mod_suphp.c>
    <Directory ~ "home/user/public_html/">
AddType application/x-httpd-php7 .php
suPHP_AddHandler application/x-httpd-php7
    </Directory>
</IfModule>

To create a new handler in supPHP … open up suphp.conf: /opt/suphp/etc/suphp.conf. Then add the new handler using the code below, at the end of the handlers list.

;Handler for php-scripts
#... existing handlers are here ... put yours below them
application/x-httpd-php7="php:/usr/local/php70/bin/php-cgi"

Now let’s add our handlers into the EasyApache/cPanel/WHM configuration without breaking anything.

There are two options here. You either go into WHM and edit the post_virtualhost_global.conf file from there or you just run: vi /usr/local/apache/conf/includes/post_virtualhost_global.conf. Add the line below in that file and you should be all done.

Include /usr/local/apache/conf/php7.conf

Now restart Apache and enjoy!

service httpd restart 

credit: https://www.codepunker.com/blog/how-to-install-php-7-on-a-cpanel-whm-driven-server-without-breaking-everything

February 1, 2016   3901    
Total 6 Votes:
1

Tell us how can we improve this post?

+ = Verify Human or Spambot ?


Leave a Comment