HHVM support #5522

Closed
opened 2026-01-22 15:09:53 +01:00 by admin · 11 comments
Owner

Originally created by @lcobucci on GitHub (May 5, 2017).

Originally assigned to: @lcobucci on GitHub.

We're struggling to support HHVM properly on our projects:

So it's time to rethink if we still want to guarantee HHVM support, the reasons are:

  1. Even though we managed to run HHVM 3.15 on travis it was impossible to install the dependencies (we should give it a try on HHVM 3.18 however I'm not sure how often HHVM users upgrade stuff)
  2. We want to use new PHP features but HHVM is not being able to keep up the pace updates and they still have a list of PHP 5 and 7 incompatibilities
Originally created by @lcobucci on GitHub (May 5, 2017). Originally assigned to: @lcobucci on GitHub. We're struggling to support HHVM properly on our projects: - https://github.com/doctrine/doctrine2/pull/1149, https://github.com/doctrine/doctrine2/pull/6286, https://github.com/doctrine/doctrine2/pull/6288 - https://github.com/doctrine/dbal/pull/2550 - https://github.com/doctrine/common/pull/785 - https://github.com/doctrine/collections/pull/104 - https://github.com/doctrine/collections/pull/110 - https://github.com/doctrine/cache/pull/203 So it's time to rethink if we still want to guarantee HHVM support, the reasons are: 1. Even though we managed to run HHVM 3.15 on travis it was impossible to install the dependencies (we should give it a try on [HHVM 3.18](https://docs.travis-ci.com/user/languages/php/#HHVM-versions-on-Trusty) however I'm not sure how often HHVM users upgrade stuff) 2. We want to use new PHP features but HHVM is not being able to keep up the pace updates and they still have a list of [PHP 5 and 7 incompatibilities](https://github.com/facebook/hhvm/issues)
admin added the Improvement label 2026-01-22 15:09:53 +01:00
admin closed this issue 2026-01-22 15:09:53 +01:00
Author
Owner

@Ocramius commented on GitHub (May 5, 2017):

Overall, I feel bad for dropping HHVM support, but lack of latest versions by default on CI, as well as incompatibilities with PHP 5, 7, 7.1 are starting to become an issue. Community usage is also very low, since PHP 7 made most interactions as fast as on HHVM.

We need to drop it though, as we need to bump the minimum version to PHP 7.1 anyway.

@Ocramius commented on GitHub (May 5, 2017): Overall, I feel bad for dropping HHVM support, but lack of latest versions by default on CI, as well as incompatibilities with PHP 5, 7, 7.1 are starting to become an issue. Community usage is also very low, since PHP 7 made most interactions as fast as on HHVM. We need to drop it though, as we need to bump the minimum version to PHP 7.1 anyway.
Author
Owner

@alcaeus commented on GitHub (May 5, 2017):

Pinging @Seldaek - he did publish some HHVM stats from Packagist a while back and mentioned in IRC he'd post some current numbers soon. Quote:

last I checked it was less hhvm than php5.3 IIRC

@alcaeus commented on GitHub (May 5, 2017): Pinging @Seldaek - he did publish some HHVM stats from Packagist a while back and mentioned in IRC he'd post some current numbers soon. Quote: > last I checked it was less hhvm than php5.3 IIRC
Author
Owner

@Majkl578 commented on GitHub (May 5, 2017):

Here: https://github.com/composer/composer/issues/6230#issuecomment-284426560

last time I checked there was less HHVM than PHP 5.3 users of composer, about 0.4% or smth IIRC, so not really worth the trouble I would say.


Maybe someone from Facebook could share their vision regarding compatibility, but it's been years and even many PHP 5 bugs are still unfixed, not even taking 7.0/7.1 into consideration. There is still ~250 open issues marked PHP 5 incompatibility and another ~75 marked PHP 7 incompatibility. There are also 43 issues marked wontfix which are PHP 5 incomatiblities.
I initially sent some bugfixes and another bunch of issues to HHVM, but now I just have a feeling that HHVM has its own path with PHP compatibility not being a priority.

Btw Symfony still seems to actively ship HHVM support, it'd be interesting to know their point of view, regarding HHVM + Symfony 4.

@Majkl578 commented on GitHub (May 5, 2017): Here: https://github.com/composer/composer/issues/6230#issuecomment-284426560 > last time I checked there was less HHVM than PHP 5.3 users of composer, about 0.4% or smth IIRC, so not really worth the trouble I would say. ----- Maybe someone from Facebook could share their vision regarding compatibility, but it's been years and even many PHP 5 bugs are still unfixed, not even taking 7.0/7.1 into consideration. There is still ~250 open issues marked _PHP 5 incompatibility_ and another ~75 marked _PHP 7 incompatibility_. There are also 43 issues marked _wontfix_ which are _PHP 5 incomatiblities_. I initially sent [some bugfixes](https://github.com/facebook/hhvm/commits/master?author=majkl578) and another [bunch of issues](https://github.com/facebook/hhvm/issues?q=is%3Aissue+author%3AMajkl578+is%3Aclosed) to HHVM, but now I just have a feeling that HHVM has its own path with PHP compatibility not being a priority. Btw Symfony still seems to actively ship HHVM support, it'd be interesting to know their point of view, regarding HHVM + Symfony 4.
Author
Owner

@theofidry commented on GitHub (May 5, 2017):

@Majkl578 Symfony doesn't provide any guarantee for HHVM, but accept fixes for it. Cf. https://github.com/symfony/symfony/issues/18922

@theofidry commented on GitHub (May 5, 2017): @Majkl578 Symfony doesn't provide any guarantee for HHVM, but accept fixes for it. Cf. https://github.com/symfony/symfony/issues/18922
Author
Owner

@Majkl578 commented on GitHub (May 5, 2017):

@theofidry: Thanks for the link; Symfony doesn't have HHVM in allowed failures so they apparently still do care enough. :)

@Majkl578 commented on GitHub (May 5, 2017): @theofidry: Thanks for the link; Symfony [doesn't have](https://github.com/symfony/symfony/blob/e5bb8fad3f2078ba4011690b9ecc57c1ada43a6f/.travis.yml) HHVM in allowed failures so they apparently still do care enough. :)
Author
Owner

@lcobucci commented on GitHub (May 7, 2017):

@Ocramius since we had a blogpost about the HHVM roadmap should we write something again?

@lcobucci commented on GitHub (May 7, 2017): @Ocramius since we had a [blogpost about the HHVM roadmap](http://www.doctrine-project.org/2013/12/23/our-hhvm-roadmap.html) should we write something again?
Author
Owner

@Seldaek commented on GitHub (May 7, 2017):

Here you go https://seld.be/notes/php-versions-stats-2017-1-edition

@Seldaek commented on GitHub (May 7, 2017): Here you go https://seld.be/notes/php-versions-stats-2017-1-edition
Author
Owner

@KennedyTedesco commented on GitHub (May 7, 2017):

Laravel doesn't follow HHVM since: https://github.com/laravel/framework/pull/14530

@KennedyTedesco commented on GitHub (May 7, 2017): Laravel doesn't follow HHVM since: https://github.com/laravel/framework/pull/14530
Author
Owner

@szymach commented on GitHub (May 12, 2017):

It could be dropped for version 3 and reintroduced if there really will be a demand. Something I highly doubt, of course.

I believe this project does not need things dragging it down and that what HHVM support currently is - a minor feature requiring a lot of work, postponing important features.

@szymach commented on GitHub (May 12, 2017): It could be dropped for version 3 and reintroduced if there really will be a demand. Something I highly doubt, of course. I believe this project does not need things dragging it down and that what HHVM support currently is - a minor feature requiring a lot of work, postponing important features.
Author
Owner

@Majkl578 commented on GitHub (May 12, 2017):

I actually don't think this would have to wait for next major. Similarly to the PHP versions which are dropped/bumped in minor versions too...

@Majkl578 commented on GitHub (May 12, 2017): I actually don't think this would have to wait for next major. Similarly to the PHP versions which are dropped/bumped in minor versions too...
Author
Owner

@Ocramius commented on GitHub (Jun 20, 2017):

Handled in #6507 (for ORM)

@Ocramius commented on GitHub (Jun 20, 2017): Handled in #6507 (for ORM)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#5522