Install PHP 7.0 (phpng) on Mac OS X
This guide will show how to install PHP 7.0 on on Mac OS X. 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 Brew
To start you will need to install Brew so that we can use it to install additional dependencies. Open Terminal and at the prompt enter the following.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Install Dependencies
Once Brew is installed, install the dependencies we’ll need using the following command. Make sure you have tapped homebrew/versions
to access all dependencies (it won’t hurt to run it again if you’ve think you’ve tapped it, but aren’t sure).
brew tap homebrew/versions brew install \ autoconf \ automake \ bison27 \ freetype \ gd \ gettext \ git \ mariadb \ mcrypt \ t1lib \ zlib
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 env YACC=`brew --prefix bison27`/bin/bison ./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-pcntl \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --enable-zip \ --with-bz2 \ --with-curl \ --with-iconv \ --with-freetype-dir=`brew --prefix freetype` \ --with-gd \ --with-gettext=`brew --prefix gettext` \ --with-gmp \ --with-jpeg-dir=`brew --prefix gd` \ --with-mcrypt=`brew --prefix mcrypt` \ --with-mysqli=`brew --prefix`/bin/mysql_config \ --with-openssl \ --with-pdo-mysql=`brew --prefix mariadb` \ --with-png-dir=`brew --prefix gd` \ --with-zlib=`brew --prefix zlib` make -j`sysctl -n hw.logicalcpu_max`
Create Package Installer
Now create the package installer and complete the installation via the GUI.
env INSTALL_ROOT=$PWD/phpng-pkg make install pkgbuild \ --root phpng-pkg \ --identifier net.php.phpng \ --version 7.0.0-dev \ --ownership recommended \ phpng-dev.pkg open phpng-dev.pkg
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
tried following instructions (thanks!)
fixed the bison issue
when running the env YACC=’brew..
getting a
configure: error: Unable to find your mysql installation
was unable to find any info.
tried running brew several time with brew update mysql and also remove and then install but nothing works..
running locate mysql_config
returns:
/usr/local/bin/mysql_config
/usr/local/bin/mysql_config_editor
Working on OSX El Capitan
Any idea how this can be fixed?
>>> make -j`sysctl -n hw.logicalcpu_max`
make: *** No targets specified and no makefile found. Stop.
That error usually means that
make
doesn’t see the makefile at all. Sometimes it gets a weird extension appended to it, when really it should just be called “makefile”. Check the directory to see if there is a file named makefile with an extension, and if so just remove the extension and try again.Hi,I am getting error on “install dependencies”
it says ‘”No available formula with the name “bison27″”
Hi Tanvir,
Try running
brew tap homebrew/versions
first, then install bison again.