Install PHP 7.0 (phpng) on CentOS & RedHat
This guide will show how to install PHP 7.0 on RedHat and CentOS Linux. This version of PHP is also known as PHPNG to indicate it is the “next generation” of PHP. Many fundamental improvements have been made – for example WordPress sites should see a 100% performance increase switching from PHP 5.6 to PHP 7.0.
Install Dependencies via Yum
Use yum to install the dependencies we’ll need using the following command.
yum install -y \ autoconf \ bison \ curl-devel \ gcc \ git \ freetype\ freetype-devel \ libpng\ libpng-devel \ libxml2\ libxml2-devel \ libXpm\ libXpm-devel \ libmcrypt \ libmcrypt-devel \ mysql \ mysql-devel \ openssl \ openssl-devel \ recode \ recode-devel
Running a newer version of RedHat/CentOS?
If you are running a recent version of your operating system, you can use yum to install bison. Note that it needs to be at least version 2.7 to compile PHPNG. As of the writing the latest for CentOS 5 on a yum repository is version 2.3, so you will need to install from source (below).
Install Bison 2.7 From Source
curl -O http://ftp.gnu.org/gnu/bison/bison-2.7.1.tar.gz tar -xvf bison-2.7.1.tar.gz cd bison-2.7.1 ./configure make && make install
Build PHPNG From Source
Now we need to clone the PHP-7.0.0 branch of the PHP source and compile it using the built in scripts.
git clone -b PHP-7.0.0 https://github.com/php/php-src.git cd php-src ./buildconf --force ./configure \ --prefix=/usr/local/opt/phpng \ --with-config-file-path=/usr/local/etc/phpng \ --enable-bcmath \ --enable-calendar \ --enable-exif \ --enable-ftp \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --enable-mbstring \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-pcntl \ --enable-wddx \ --enable-zip \ --with-bz2=/usr \ --with-curl=/usr/lib64 \ --with-freetype-dir=/usr \ --with-gd \ --with-gettext=/usr \ --with-iconv \ --with-jpeg-dir=/usr \ --with-mcrypt \ --with-mysql=/usr \ --with-mysqli=/usr/bin/mysql_config \ --with-openssl \ --with-pdo-mysql=/usr \ --with-png-dir=/usr \ --with-recode=/usr \ --with-t1lib=/usr \ --with-xpm-dir=/usr \ --with-zlib-dir=/usr \ --with-zlib=/usr make -j`grep -c ^processor /proc/cpuinfo` && make install
Use PHPNG
By default OS X will use the PHP binary located at /usr/bin/php
, which as of this writing is PHP 5.5. To have PHPNG take precedence, will need to symlink to the /usr/local/bin
directory. Run php -v
to make sure you have the correct version, and if it’s not what you expected try which php
to see the location that is being selected based on your $PATH
.
ln -s /usr/local/opt/phpng/bin/php /usr/local/bin php -v PHP 7.0.0beta2 (cli) (built: Aug 3 2015 13:22:21) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies