• Subscribe to the RSS feed! RSS icon
  • Subscribe by Email
  • home
  • blog
  • dev
  • Recent Posts

    • Eight years of PHP
    • Learning English
    • Saturday night hack - coords
    • When a package update goes wrong
    • Frontend testing with phantomjs and casperjs
    • Gnucash 4.2 with SQLite3 on GNU/Linux
    • A monkey with a banana
    • 2012 - 'twas a fine year!
    • Let's learn Astronomy!
    • Unit testing Zend Framework 2 modules
  • Tags

    php, about, random, framework, zend, example, ubuntu, zend framework, blog, site, python, book, conference, linux, me, wordpress, apache, hack, hex, introduction, lamp, longboard, open source, review, script, setup, signals, zend framework 2, ape, community, contributing, dbus, dojo, events, life, mysql, netbeans, pidgin, plugin, pyqt
  • Categories

    • Blablabla
    • Development
    • Free time
    • Places on the web
    • Programming
    • Software
    • Uncategorized
  • Archives

    • April, 2013
    • March, 2013
    • February, 2013
    • January, 2013
    • September, 2012
    • August, 2012
    • July, 2012
    • June, 2012
    • February, 2012
    • January, 2012
    • December, 2011
    • November, 2011
    • October, 2011
    • September, 2011
    • August, 2011
    • July, 2011
    • May, 2011
    • April, 2011
    • March, 2011
    • January, 2011
    • December, 2010
    • November, 2010
    • October, 2010
    • July, 2010
    • June, 2010
    • April, 2010
    • February, 2010
    • January, 2010
    • December, 2009
    • November, 2009
    • October, 2009
    • August, 2009
    • May, 2009
    • March, 2009
    • February, 2009
    • January, 2009
    • December, 2008
    • November, 2008
    • October, 2008
    • September, 2008

A real gem - PHP_CompatInfo

by Robert Basic on December 27th, 2010

Last night I was pondering how nice would it be to have a tool of some sort, that would simply spit out what version of PHP does my app require. Something like: here are my .php files, what PHP version and/or extensions do I need for it? First I thought about jumping right in and writing it myself, but hey, this kind of a tool sounds way to useful not to be written already! After a bit of a googling there it was: PHP_CompatInfo. A nice PEAR package that can tell me everything I want about my code and even a bit more.

It tells what's the minimum overall PHP version needed, all the PHP extensions used and the PHP versions and extensions file by file.

Installing PHP_CompatInfo is easy: pear install php_compatinfo and that's about it. Using it isn't much harder:

<?php

require_once 'PHP/CompatInfo.php';

$source = '/home/robert/www/Zend/';

$driverType = 'xml';
$driverOptions = array();

$info = new PHP_CompatInfo($driverType, $driverOptions);
$info->parseDir($source);

Include the main PHP_CompatInfo file, set the path to the file or directory you want to check and then just run it. By default it'll just var_dump the results, which is pretty much OK for a few files and directories. For a library like Zend Framework, I found the XML output to be the best. Besides the var_dumping and XML, there are other options for the output like CSV, a simple HTML table and Text, which is used when using the CLI. Oh, right, you can run it either from the console or from your web browser. PHP_CompatInfo's documentation is very well written and describes all part of it, so I won't be bugging you with that.

So yea, this little gem goes right into my box of must have tools.

Tags: extensions, info, information, php, version.
Categories: Development, Programming.
Robert Basic © 2008 — 2013
Design & graphics by: Livia Radvanski
Coded by: Robert Basic
Home page last updated on November 30th, 2009.
Frameworks used: Zend Framework, Dojo, 960 Grid System