Skip to content
Builds PHP so that multiple versions can be used side by side.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
man Allow custom temporary directory (Fix for #170) (#457) Aug 3, 2017
.gitattributes Add newline handling gitattributes Sep 5, 2014
.gitignore Fixed link Oct 2, 2015
Vagrantfile Updated references to the github repo Nov 26, 2015 Add uninstaller script; Closes #279 Apr 19, 2015

php-build Build Status

php-build is a utility for building versions of PHP to use them side by side with each other. The overall structure is loosly borrowed from Sam Stephenson's ruby-build.

Do you like php-build? You can buy me a beer by Gittipp-ing. Consider also Gittipp-ing one of the awesome contributors.



As phpenv plugin

With phpenv via installer

It's the standard way: installs phpenv in $HOME/.phpenv (default $PHPENV_ROOT value).

curl -L \
    | bash

See more on install phpenv + php-build/php-build (and other plugins), updating all of them when you want to!

With phpenv manually

Locate your phpenv directory:

% ls $HOME/.phpenv

Clone the Git repository into phpenv plugins directory:

% git clone git:// $HOME/.phpenv/plugins/php-build

Now you can use php-build as phpenv plugin, as follows:

% phpenv install <definition>

The built version will be installed into $HOME/.phpenv/versions/<definition>.

As standalone php-build

Clone the Git Repository:

% git clone git://

Then go into the extracted/cloned directory and run:

% ./

This installs php-build to the default prefix /usr/local.

To install php-build to an other location than /usr/local set the PREFIX environment variable:

% PREFIX=$HOME/local ./

If you don't have permissions to write to the prefix, then you have to run as superuser, either via su -c or via sudo.


Issue reports and pull requests are always welcome.

All contributions will be reviewed and merged by the core team:





php-build is released under the MIT License.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.