-
Notifications
You must be signed in to change notification settings - Fork 3k
FAQ
For a history of what is now HHVM, please visit our Wikipedia page
Facebook's entire desktop site runs on HHVM, both in development and production.
- Linux: HHVM has broad support on various flavors of Linux (Ubuntu, Debian, CentOS)
- Mac OS X: HHVM has some support for Mac OS X. It runs in interpreted mode only right now (no JITted code).
- Windows: There is no support for HHVM on Windows currently.
- For a discussion about HHVM and its benefits, please see [this PHP UK Conference 2013 presentation] (http://www.youtube.com/watch?v=Dwek7dZDFN0)
- For a deep dive into the HHVM internals, please see this QCon 2012 presentation.
- Other information can be found in the references of our Wikipedia page.
On various flavors of Linux, HHVM can be installed from pre-packaged binaries or built from the HHVM source code. The pre-packaged binaries can be behind the source code builds in terms of functionality and bug fixes on the order of weeks.
HHVM on Mac OS X can currently only be built from the source code.
- Facebook: HHVM runs Facebook.com in production.
- Wordpress: hhvm.com, a Wordpress blog, is running on HHVM.
- Mediawiki: Mediawiki installations can run on HHVM.
Here are some other places HHVM is being used: https://github.com/facebook/hiphop-php/wiki/Users
The HHVM team is on a big push towards parity. We are pushing very hard to pass the unit tests for the most popular PHP frameworks. This work will hopefully allow enough new functionality to be implemented, as well as bugs to be fixed, in order to run most of the PHP code out in the wild.
There are definitely issues that need to be addressed with HHVM. We have many instances where HHVM fatals when running unit tests for popular PHP frameworks.
Also, the HHVM GitHub issues describe bugs that exist with the current implementation.
The HHVM team is working really hard to enhance functionality and fix bugs that currently exist.
Please submit an issue.
Other areas for discussion and support are on #hhvm on IRC, HHVM on Facebook
Given our parity work, we hope to be able to run most PHP code by the end of 2013 or Q1 2014.
Our goal is to support Apache by the end of 2013.
The list of supported extensions can be found in the extensions directory of the hhvm codebase: https://github.com/facebook/hiphop-php/tree/master/hphp/runtime/ext
The HHVM teams is currently working on two primary areas: performance and parity. HHVM performance is a continuous effort given Facebook's scale. Parity and compatibility has become an extremely high priority for the HHVM team. Tactically, parity currently consists of ensuring that HHVM does not fail when running many of the popular PHP frameworks.
Depending on whether or the extensions are written in C++ or PHP, ported extensions can be found in
/hphp/runtime/ext
orhphp/system/php
, respectively.
Tests are written in the same format as Zend PHP.
A test is generally put in the
hphp/test/[quick | slow]
directory and run with the test runner scripthphp/test/run
(e.g.,hphp/test/run/ test/quick
runs all the tests in the quick directory).
See the test readme for further information.
All of the HHVM technical specifications are located in the
hphp/doc
directory. Some specifications of interest are: