PHP Runtime Compatability

Now VersionEye shows which PHP package is compatible to which PHP runtime.

PHP has different runtimes, just like Ruby and Java. There are different versions of the PHP interpreter, there the newest is currently the 7.X branch, which brings massive performance improvements. But there is also the HHVM runtime, developed by Facebook. HHVM is a virtual machine for PHP and Hack, which is using a JIT compilation approach. Not all PHP libraries are running on HHVM or on PHP 7.

The PHP-Eye project from Julius Beckmann is collecting travis-ci configurations from GitHub and the corresponding test results to detect if an PHP artefact is compatible to a specific runtime or not. This kind of information is not available for all PHP libraries. But for many of them. For the good ones who are doing continuous testing and continuous integration. For this projects a runtime badge can be generated. VersionEye displays for each PHP artefact 2 runtime badges at the top of the page.

VersionEye-PHP-Runtime

That way it’s easy to see on which runtime the selected artefact was tested an on which not. The runtime badges link directly to a page at PHP-Eye where the full compatibility matrix for the PHP package is displayed.

Screen Shot 2016-03-03 at 09.46.50

VersionEye is using this information for the notification emails as well. Now in the notification emails the tested runtimes are listed as well. Like in this example:

Screen Shot 2016-03-03 at 19.58.57

We hope this information is valuable for you and helps you to build better software. Your feedback is always appreciated 🙂

3 thoughts on “PHP Runtime Compatability

  1. Are you using the PHP requirement in the composer.json to distinguish unteste runtimes and versions simply not supported ? For instance, Symfony 3.0.3 (taken as example in your blog post) is indeed not tested on PHP 3.1 currently (but is expected to support it) while it is simply not compatible with PHP 5.4 and older. Mixing 3.1 and 5.2 in the same badge looks weird.

  2. There is an error now, as you don’t seem to properly detect HHVM as being tested when testing against the LTS version rather than the latest stable release.

    But it would be great to combine this info with the composer.json metadata (which you can get from Packagist instead of parsing them yourselves). Marking old PHP versions as untested when they are in fact unsupported (because we depend on newer feature) is the wrong user experience IMO.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s