Find out the minimum version and the extensions required for a piece of code to run

Installs: 2 486

Dependents: 11

Stars: 105

Watchers: 9

Forks: 13

Open Issues: 3

4.5.2 2015-11-21 09:23 UTC


PHP CompatInfo is a library that can find the minimum version and the extensions required for a piece of code to run.

It is distributed as source code (install via composer) and a PHAR version that bundles all dependencies in a single file.

Follow development on the official Blog.

Have a look on branch 3.7 for previous stable API 3.x

Caution Branch 4.5 will not accept any more any feature requests. Consider to ask your request on branch 5.0 now !


You can either :

  • download the phar version 4.5.2

  • install via packagist the current source dev-master or the stable version 4.5.2


The documentation for PHP CompatInfo 4.5 in English is available online or downloadable offline to read it later (multiple formats available).

AsciiDoc source code is available on docs folder of the repository.


Contributions to source code and its documentation are always welcome.

As developper, I’m always happy when I have the more informations as possible to check and find out issues. This is the reason why I’ve created a PHPUnit TestSuite Listener for compatible PSR-3 Loggers.

Recently, on attempt to enhance GenericTest for unit tests, I’ve wrote a new PHPUnit ResultPrinter class, that is based on PSR-3 logger concept. You can learn more on this post in the CompatInfo’s blog.

If you want to use it, then :

  • install all the components via Composer

$ php composer.phar require --dev bartlett/php-compatinfo
  • create a phpunit.xml file with at least following contents :

<?xml version="1.0" encoding="UTF-8"?>
        <directory suffix=".php">src/</directory>
        <testsuite name="CompatInfo Test Suite">
            <directory suffix="Test.php">tests/</directory>
  • configure the PSR-3 logger in tests\MonologConsoleLogger.php, if you want to change some behaviors.

Note Default will log all PHPUnit events in local file phpunit-phpcompatinfo-php<PHP_VERSION_ID>.log and log events corresponding to PHPUnit mode (--verbose, --debug) to the console.
Note If you’ve a Growl client installed and running, you will be notified at end of tests run.
Output look like
PHPUnit 4.6.6 by Sebastian Bergmann and contributors.

Configuration read from C:\home\github\php-compat-info\phpunit.xml

CompatInfo Test Suite:

    Test suite started with 1372 tests


    Test suite started with 6 tests


    Test suite ended. Results OK. Tests: 6, Assertions: 10


    Test suite started with 4 tests

< ... MORE LINES ...>

CompatInfo Test Suite:

    Test suite ended. Results OK. Tests: 1108, Assertions: 15465, Skipped: 22

Time: 3.42 minutes, Memory: 35.25Mb, References: 105

Results OK. Tests: 1130, Assertions: 15465, Skipped: 264