HipHop for PHP

✍ dations ◷ 2025-10-12 16:19:00 #编译器软件,程序设计工具,PHP,Facebook软件

HipHop for PHP是一系列PHP脚本语言的代码转换器的集合,它包含HPHPc、HPHPi、HPHPd以及HHVM,这四个脚本引擎各有所不同,但是他们共享相同的运行时(Runtime)及工具集(Toolset)。HipHop是由Facebook所创建,他们用它来节省服务器的资源。HipHop被发布时,已经是高达60万行由C++及C所撰写的代码,它以自由软件发布,采用PHP许可证 3.01版。

HipHop for PHP可显著的增快PHP应用程序的速度,借由2到6个已观察到的要素,HipHop改善了网页生成的性能。

一开始,HipHop由Haiping Zhao于Facebook领衔开发,运行于CentOS及Fedora操作系统。在发布之前,已经被开发了两年,最后于2010年2月2日发布,但由于技术的困难,实际发布的时间延后18天,于2月20日发布在公开的Git程序库。

这是最原始版本的HipHop(被称之为HPHPc),它可以将PHP的代码转换成C++的代码,并且利用g++将它编译成机器语言。Facebook使用它多年,但由于他对于开发者并不友善,而且Facebook庞大的程序库使得开发者在进行程序更动时,必须等待数个小时的编译,所以HipHop在2013年2月19日被官方弃用。

HPHPc的版本(被称之为HPHPi)被用来处理PHP代码,它在运行时期进行编译,但与HPHPc使用相同的运行时期以及运行逻辑,比起HPHPc,它的运行性能较低,但它令开发者可以使用与产品发布时相同堆栈的代码。目前HPHPi的支持也已经终止。

HipHop的调试程序(被称之为HPHPd)被用来作为HipHop运行时期的键盘交互界面,它允许开发者可以尝试使用一些代码、紧系运行时期的解释器以及可以设置监控器或中断点。HPHPd现在仍被支持及使用。

这是当前版本的HipHop(被称之为HHVM),被用以取代HPHPc以及HPHPi在产品的开发及发布,HHVM借由将 PHP 代码编译为字节码 ,使其可运行于虚拟机的环境,也可以利用客制的JIT在运行时期编译为机器代码。当前Facebook的PHP程序皆运行在HHVM上。

HipHop for PHP是一个开放源代码的项目,可在GitHub 页面存档备份,存于互联网档案馆获取,它是采用PHP许可证授权。ubuntu上已编译可直接运行的包已经可以在HipHop项目的apt程序库获取。

于2012年5月,HipHop的wiki指出 页面存档备份,存于互联网档案馆

HipHop于CentOS及Fedora上开发,目前在其他系统编译可能不能正常运行,虽然在未来可能会加入其他操作系统的支持,但是现在,HipHop仅能运行于64位架构的环境。

HipHop在运行PHP项目,有相当多的改进,也能减少存储器使用量并增加对TBB的parallel_for的支持,以至于除了加速之外并显著的减少存储器使用量。

相关

  • 珀西瓦尔斯宾塞·珀西瓦尔(英语:Spencer Perceval,1762年11月1日-1812年5月11日),英国政治家,于1809年至1812年出任英国首相,是历史上唯一一位遇刺身亡的英国首相。珀西瓦尔是约翰·珀西瓦尔
  • 手表手表,或称为腕表,是指戴在手腕上、用以计时及显示时间的仪器。几乎是利用皮革、橡胶、尼龙布、不锈钢等材料,制成表带,将显示时间的“表头”束在手腕上。本来作为仪器的“錶”应
  • 初选与党团会议美国总统初选是指在美国总统选举的候选人提名过程中,各州及领地举办的一系列初选(primary election)与党团会议(caucus)。美国宪法对此并没有任何规定,这是各政党自己逐渐发展出来
  • 利奥·弗兰克利奥·弗兰克案,是1915年发生于美国乔治亚州的一个著名私刑案件。犹太裔美国工厂管理者利奥·弗兰克被控谋杀少女并定罪,于服刑期间被一群人劫走后吊死,因美国反犹太现象而受到
  • 三角泳裤三角泳裤(英语:swim brief)是穿着于下半身的泳装,因男女生理构造不同有不同的设计。三角泳裤与三角裤相似,外型呈三角形,腰侧长度亦分为1.5英寸及3英寸。三角泳裤以三角形覆盖穿着
  • 弗朗茨·尼氏弗朗茨·尼氏 (Franz Nissl)(1860年9月9日-1919年8月11日)是德国的一位医学研究员及著名的神经病理学家。生于弗兰肯塔尔,死于慕尼黑。尼氏双亲为西奥多·尼氏和玛丽亚·哈斯(Theo
  • 延奇延奇 (1682年2月2日(康熙二十年十二月二十五)-1687年6月2日(康熙二十六年四月二十三)),满洲爱新觉罗氏。顺承恭惠郡王勒克德浑之孙,已革顺承郡王勒尔锦第四子,母妾曹氏。康熙二十一年(1
  • 海宁州图书馆海宁州图书馆是晚清时期位于浙江省杭州府海宁州(今浙江省海宁市盐官镇一带,属嘉兴地方)的图书馆,是全中国最早的县级公共图书馆,也与嘉郡图书馆并为嘉兴近代公共图书馆事业的开端
  • 墨西哥各州人类发展指数列表此表为墨西哥31个州(英语:States of Mexico)(不含非正式的州墨西哥城)之人类发展指数。数据来自联合国于2015年发布之报告。该数据为根据2012年的资料所编制。墨西哥没有任何一个
  • 柏林经济与法律应用科学大学柏林经济与法律应用科技大学(德语:Hochschule für Wirtschaft und Recht Berlin, HWR;英语:Berlin School of Economics and Law)是位于德国首都柏林的一所大型的应用技术大学。