HHVM vs PHP7: rtCamp/EE official recommendation?


#1

With the exception of two websites, BAMAJR uses EE for all client websites (fingers crossed, will be down to a one website exception, by the end of this month). An entire setup and deployment process has been built around it and there are presently no plans for switching away from it. That being said, one of our biggest frustrations with EE is the lack of separation between their “currently supported information” and “historical” or “archived” information.

For instance, if one were to search for EasyEngine and PageSpeed, you find all the information about how to install/use PageSpeed, before you find out that it has been deprecated and there is no longer support for it.

This is especially problematic when arriving at support pages from search engines or when searching within rtCamp, rtCommunity and EE properties.

Most of the time, if one reads enough of the conversation, including related blog articles and links, finding the “currently supported best practice” isn’t too difficult. However, finding an “official” endorsement of PHP7 over HHVM, HHVM over PHP7 or some Hybrid solution of other options, doesn’t seem to be an easy task. So, I’m asking now:

Which direction does rtCamp/EE encourage/recommend to its user base?

Additionally…

What happened to:

ee stack remove --nginx && ee stack install --nginxmainline

…in Debian GNU/Linux 8?


Using HHVM with php-fpm fallback configuration in Ubuntu 14.04 64bit clean install
#2

@bamajr We at rtCamp would suggest to opt for php7 over HHVM, reasons for the same are listed below:

  • HHVm now doesn’t seem to have any active development.
  • HHVM is not available for 16.04 in it’s default repo.
  • HHVM as compared to PHP7 is very unstable and have lots of issues that result in frequent crashing of it. We tried to use it for our own main website, but have to drop it because of the same reason.
  • HHVM has sparingly supporting wordpress plugins.

Apart from all the above reasons HHVM is planed to be deprecated in future version of EasyEngine.

That being said, we certainly will take in consideration your suggestion about better categorizing our articles.

The support for nginxmainline was deprecated from EasyEngine v3.6.0. You can read about the complete change in our release blog post


#3

@ssalil Thank you for your reply.

I suspected HHVM support would be short-lived. I have even been involved in earlier conversation about its use and long-term viability.

I can see by doing a simple search in your rtCommunity forums, HHVM is the topic of many support issues. So, I believe the plan for HHVM to be deprecated in future versions of EasyEngine is a good one, though it wasn’t that long ago, it became more than an “experimental” feature (about the time nginxmainline was deprecated).

Thank you for the link to information about nginxmainline deprecation. I guess I do remember reading about this, but didn’t remember how to install HHVM without it.

I do have some follow-up questions, if you don’t mind:

  1. What is the best way to remove HHVM from EE installations already using it?

  2. Is there any concern for problems, once HHVM is removed?

  3. Is there an easy way to utilize PHP7 in place of HHVM, on EE installations where HHVM was previously used?

  4. What is rtCamp’s recommended installation configuration (was previously using sudo ee site create example.com --wpsubdir --wpredis --hhvm and/or sudo ee site create example.com --wpredis --hhvm was recommended)?

  5. Will sudo ee site create example.com --wpsubdir --wpredis --php7 and/or sudo ee site create example.com --wpredis --php7 now work (as of yesterday, php7 still wasn’t installing correctly on Debian Jessie Ee 3.7.0)

Your input is appreciated.


#4

@bamajr

  • You can simply use sudo ee site update <site name> --hhvm=off to disable HHVM from any site using it. If you want to completely remove it from your setup you can use sudo ee stack remove --hhvm and similarly sudo ee stack purge --hhvm to purge the package.
  • We have tired and tested above on various configurations and there haven’t been any such issue faced.
  • You can simply pass --hhvm=off --php7 with the sudo ee update... command and it will disable HHVM and enable php7 on the site.
  • We would not recommend using HHVM.
  • We are at the end point for release of hotfix 3.7.1 that will take care of all the php7 on debian issue. Sorry for the inconvenience, but we would ask you to have just a little more patience.

Thank you.


#5