PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.
PHP XSLT Batchfile Shell PLpgSQL SQLPL
Latest commit 604807c Sep 14, 2017 @Bob4ever Bob4ever committed with mrook Updated IoncubeEncoderTask.php (#762)
Updated IoncubeEncoderTask for version 10 and php7.1
Failed to load latest commit information.
ansible Added vagrant/ansible support (#640) Mar 21, 2017
bin Refs #657 - remove PEAR building and installation instructions Jan 31, 2017
build Take care of build in function (#719) May 29, 2017
classes/phing Updated IoncubeEncoderTask.php (#762) Sep 14, 2017
composer/bin Short array syntax Jan 16, 2017
docs Demonstrate StringHelper::booleanValue in the custom MyEchoTask code. ( Aug 24, 2017
etc Added FileList support to the TouchTask (#756) Aug 24, 2017
test The $val = '1k' * 1024 cause a "Notice: A non well formed numeric val… Aug 24, 2017
.gitattributes *.sh eol=lf (enforce unix line ending for shell scripts) (#628) Dec 5, 2016
.gitignore Added vagrant/ansible support (#640) Mar 21, 2017
.gitmodules Remove Parallel submodule Aug 25, 2012
.travis.php.ini Increase memory limit Aug 12, 2013 Disable checks for PHP < 5.5 Oct 5, 2016
.travis.yml Fixed travis hhvm settings. (#730) Jun 19, 2017 Update changelog for release Dec 22, 2016 Update, add my email address (#666) Feb 6, 2017
Dockerfile Add initial dockerfile Mar 3, 2017
LICENSE Documentation commits in preparation for release. May 11, 2008 Update phpstorm license address Mar 16, 2017 Add upgrade doc Mar 3, 2017
Vagrantfile Added vagrant/ansible support (#640) Mar 21, 2017
appveyor.yml Added appveyor config. (#681) Feb 27, 2017
composer.json Superseded #302 Remove S3 PEAR dependency (#748) Aug 24, 2017
composer.lock Superseded #302 Remove S3 PEAR dependency (#748) Aug 24, 2017


Master: Build Status

(PH)ing (I)s (N)ot (G)NU make; it's a PHP project build system or build tool based on Apache Ant. You can do anything with it that you could do with a traditional build system like GNU make, and its use of simple XML build files and extensible PHP "task" classes make it an easy-to-use and highly flexible build framework.

Features include running PHPUnit tests (including test result and coverage reports), file transformations (e.g. token replacement, XSLT transformation, Smarty template transformations), file system operations, interactive build support, SQL execution, SVN/GIT operations, tools for creating PEAR packages, documentation generation (DocBlox, PhpDocumentor) and much, much more.

If you find yourself writing custom scripts to handle the packaging, deploying, or testing of your applications, then we suggest looking at Phing. Phing comes packaged with numerous out-of-the-box operation modules (tasks), and an easy-to-use OO model to extend or add your own custom tasks.

Phing provides the following features:

  • Simple XML buildfiles
  • Rich set of provided tasks
  • Easily extendable via PHP classes
  • Platform-independent: works on UNIX, Windows, Mac OSX

The Latest Version

Details of the latest version can be found on the Phing homepage

Supported PHP versions

Phing 3.x is compatible with PHP 5.6 and higher.


  1. Composer

The preferred method to install Phing is through Composer. Add phing/phing to the require-dev or require section of your project's composer.json configuration file, and run 'composer install':

         "require-dev": {
             "phing/phing": "3.0.x-dev"
  1. Phar

Download the Phar archive. The archive can then be executed by running:

     $ php phing-latest.phar

Running the (unit) tests

To successfully run all Phing tests, the following conditions have to be met:

  • PEAR installed, channel "" discovered
  • Packages "python-docutils" and "subversion" installed
  • php.ini setting "phar.readonly" set to "Off"

Then, perform the following steps (on a clone/fork of Phing):

     $ composer install
     $ cd test
     $ ../bin/phing


Documentation is available in various formats in the docs/docbook5/en/output directory (generated from DocBook sources located in docs/docbook5/en/source).

For online documentation, you can also visit the Phing website:


This software is licensed under the terms you may find in the file named "LICENSE" in this directory.

Thank you for using PHING!



We welcome contributions! Please keep your pull requests clean and concise: squash commits, don't introduce unnecessary (whitespace) changes, use verbose commit messages.

Phing's source code is formatted according to the PSR-2 standard.


If you like Phing, we accept donations through Flattr. All donations will be used to help cover the costs for hosting the Phing site.

PhpStorm License

If you are contributing code to the Phing project and want to use PhpStorm for development feel free to ask Michiel (mrook AT php DOT net) for our Open Source License.

Proud to use:

PhpStorm Logo