Akeneo PIM, PHP7 and HHVM compatibility

Nicolas Dupont
Akeneo Labs
Published in
2 min readJan 11, 2016

Last year, by exploring different ways to improve performances, we performed several tests to check if Akeneo PIM will be easily compatible with HHVM or not.

Most of the issues we’ve encountered were related to our dependencies. As we’re using quite common and active libraries (Symfony, Doctrine, etc), we were pretty confident about the fact that our technical stack will be quickly compatible with HHVM.

With the recent release of PHP7, we kept working on our compatibility tests on both HHVM and PHP7 engines, and with small upgrades, most of our dependencies are now compatible! (we still have an open issue with MongoDB PHP driver).

Besides, as we have a large set of unit and functional tests, respectively using Phpspec and Behat, we started by adding PHP7 and HHVM in our unit tests matrix on Travis CI.

Then, by updating a bit our code, we managed to make our unit tests passes. These changes were mostly related to the new reserved keywords which can’t be used as the name of your classes (cf http://symfony.com/blog/symfony-achieves-100-php7-compatibility).

Today, we’re glad to announce that our unit tests matrix now runs smoothly on PHP 5.4, PHP 5.5, PHP 5.6, PHP 7 and HHVM engines!

To prepare a shiny future, our continuous integration does not accept anymore failures for these engines to prevent any regression that we could introduce by merging a new development in our upcoming v1.5.

Obviously, we still have a lot of work to do to achieve a 100% compatibility. First, ensure that all our functional tests run, make compatible our enterprise edition bundles, measure performances for various processes, add the MongoDB storage support, etc.

We’ll continue to share our progress on this topic, stay tuned!

--

--