切换到HipHop而不是XCache是否有意义?
HipHop准备在黄金时段使用还是我们应该等待几个月才能实现?
编辑:我们很有趣地在运行vBulletin的服务器上测试配置。
最佳答案
让我澄清一下您对Hiphop和Xcache可能存在的误解。 XCache通过将操作码缓存添加到ZEND的PHP实现中(例如APC和 friend )来工作,而Facebook的HipHop则允许将PHP代码转换为C++代码,然后使用g++进行编译。由于HipHop不依赖于Zend解释器,因此无法在HipHop上运行XCache(并且甚至不使用php操作码,因为它在转换为C++之后被编译为字节码)。
现在回答您的问题,HipHop已用于实时托管大量Facebook流量。如果该项目不稳定,Facebook不会发布该项目,但是由于它是一个非常新的项目,因此我仍要谨慎行事。 HipHop不仅是旧版Zend Interpreter的补丁,它是一种完全不同的运行PHP代码的方式,并且其中可能包含一些错误。
Facebook在确保Hiphop切换到该功能之前所做的一件事是,他们能够在其网站上针对每个可能的请求设置非常严格的单元测试。这样,如果Hiphop的输出与普通的Zend PHP不同,则它们将返回并进行更多调试,直到一切“为他们工作”为止。仅仅因为它在Facebook代码库上“有效”并不能证明它对您的代码有效。如果您决定切换到HipHop,请确保对其进行了良好的测试。
编辑:
HHVM(HPHP的新VM版本)现在可以eval
和create_function
。由于所有/最有意义的原因,它们应该相同。
有些事情与HipHop不兼容。他们删除了eval
和create_function
函数。他们现在也仅支持PHP 5.2.x,但是他们计划增加对5.3“很快”的支持。