HHVM和/或PHP执行引擎究竟是什么?

时间:2014-03-24 15:26:38

标签: php hiphop hhvm

我一直在阅读Facebook的Hack,它让我阅读有关HipHop虚拟机的内容。我希望更好地理解这一点,但无法找到明确的定义。维基百科将其定义为:HipHop for PHP(缩写为HipHop)描述了由Facebook创建的一系列PHP执行引擎和改进。我不明白PHP引擎是什么......

所以我想我的问题是:“PHP执行引擎究竟是什么?”以及PHP应用程序的好处究竟如何?

谢谢!

1 个答案:

答案 0 :(得分:8)

您可以使用从php.net下载的标准(Zend)引擎运行PHP代码,效果很好。如果您下载WAMP,MAMP或任何其他预先打包的PHP&适用于您的操作系统软件包的MySQL,这就是您所获得的。

或者,您可以使用HipHop运行(大多数[1])您的PHP代码,这非常有用。

您正在使用哪一个应该对最终用户有效。您的开发人员和运营团队需要知道。

如果您运营的网站流量很大,您可以选择使用HipHop。 HipHop虽然不支持PHP的所有功能,但运行速度更快。它还有一些主要PHP发行版中没有的新功能,主要与类型提示有关。这些可以提供一些非常有吸引力的工具来读取代码检查错误。

您可能想要使用HipHop的原因:

  • 性能对你来说很重要
  • HipHop提供的静态分析工具对您的团队非常重要
  • HipHop中的新功能,但Zend PHP中的新功能对您的团队很有吸引力。

您可能想要使用Zend PHP的原因

  • 你需要一个不适用于HipHop的扩展程序(那里有很多扩展,想想:gd,curl,imagemagik等等。现在很多都可以用于HipHop,很多都没有。)
  • 您的代码或框架正在使用不受支持的功能。
  • 您在托管当前的Web服务器方面拥有丰富的专业知识。 PHP堆栈,不想从头开始。

这篇文章涉及一些HHVM与HACK的差异,并给出了一个很好的运行:http://www.marco.org/2014/03/21/hack

[1]并非所有可以使用常规PHP引擎运行的代码目前都适用于HipHop。他们正在研究大多数问题,有些人他们刚刚决定不修复(我认为变量变量可能就是这个例子,例如$$ var)