For faster navigation, this Iframe is preloading the Wikiwand page for HipHop for PHP.

HipHop for PHP

HipHop
開發者Facebook
首次发布2010年2月2日 (2010-02-02)
当前版本
  • 3.15.0 (2016年9月28日;穩定版本)[1]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言C++, C
操作系统跨平台
类型程式碼轉換
许可协议自由软件 (PHP许可证)
网站wiki.github.com/facebook/hiphop-php/
facebook.com/hphp

HipHop for PHP是一系列PHP腳本語言的程式碼轉換器的集合,它包含HPHPcHPHPiHPHPd以及HHVM,這四個腳本引擎各有所不同,但是他們共用相同的运行時(Runtime)及工具集(Toolset)。HipHop是由Facebook所建立,他們用它來節省伺服器的資源。HipHop被發佈時,已經是高達60萬行由C++C所撰寫的程式碼,它以自由软件發佈,採用PHP许可证 3.01版。

HipHop for PHP可顯著的增快PHP應用程式的速度,藉由2到6個已觀察到的要素,HipHop改善了網頁生成的效能[2][3]

歷史

一開始,HipHop由Haiping Zhao於Facebook領銜開發,運行於CentOSFedora作業系統。在釋出之前,已經被開發了兩年,最後於2010年2月2日發佈,但由於技術的困難,實際釋出的時間延後18天[4][5],於2月20日發佈在公開的Git程式庫。

HPHPc

這是最原始版本的HipHop(被稱之為HPHPc),它可以將PHP的程式碼轉換成C++的程式碼,並且利用g++將它編譯成机器语言Facebook使用它多年,但由於他對於開發者並不友善,而且Facebook龐大的程式庫使得開發者在進行程式更動時,必須等待數個小時的編譯,所以HipHop在2013年2月19日被官方棄用[6]

HPHPi

HPHPc開發者模式版本(被稱之為HPHPi)被用來處理PHP程式碼,它在執行時期進行編譯,但與HPHPc使用相同的執行時期以及執行邏輯,比起HPHPc,它的執行效能較低,但它令開發者可以使用與產品發佈時相同堆疊的程式碼。目前HPHPi的支援也已經終止。

HPHPd

HipHop的除錯程式(被稱之為HPHPd)被用來作為HipHop執行時期的鍵盤互動界面,它允許開發者可以嘗試使用一些程式碼、緊繫執行時期的直譯器以及可以設定監視器或中斷點。HPHPd現在仍被支援及使用。

HHVM

這是當前版本的HipHop(被稱之為HHVM),被用以取代HPHPc以及HPHPi在產品的開發及發佈,HHVM藉由將 PHP 程式碼編譯為位元組碼 ,使其可運行於虛擬機器的環境,也可以利用客制的JIT在執行時期編譯為機器碼。當前FacebookPHP程式皆運行在HHVM上。

使用HipHop for PHP

HipHop for PHP是一個開放原始碼的專案,可在GitHub页面存档备份,存于互联网档案馆)取得,它是採用PHP许可证授權。ubuntu上已編譯可直接執行的套件已經可以在HipHop專案的apt程式庫取得[7][8]

於2012年5月,HipHopwiki指出 目前已經支援PHP 5.3的多項特色[1]页面存档备份,存于互联网档案馆

HipHopCentOSFedora上開發,目前在其他系統編譯可能不能正常運行,雖然在未來可能會加入其他作業系統的支援,但是現在,HipHop僅能運行於64位元架構的環境。

HipHop在執行PHP專案,有相當多的改進,也能減少記憶體使用量[9]並增加對TBB的parallel_for的支援,以至於除了加速之外並顯著的減少記憶體使用量[10]

另見

參考文獻

  1. ^ Release 3.15.0. 2016年9月28日 [2018年3月13日]. 
  2. ^ HipHop for PHP: Benchmark. [2011-05-01]. (原始内容存档于2011-05-16). 
  3. ^ Drupal 7: HipHop for PHP vs APC – benchmark. [2011-05-18]. (原始内容存档于2011-05-19). 
  4. ^ PHP Creator Asks, Is Facebook's HipHop Just a 'Nifty Trick'?页面存档备份,存于互联网档案馆
  5. ^ Repository documentation on February 8, 2010.页面存档备份,存于互联网档案馆
  6. ^ Remove support for building HPHPc. [2013-03-18]. (原始内容存档于2019-10-17). 
  7. ^ hiphop-php_2.0.0 release. 2013-03-14 [2013-03-18]. 
  8. ^ Prebuilt packages on Ubuntu 12.04. 2012-09-15 [2013-03-18]. 
  9. ^ WordPress on HipHop – White Paper« Open Parallel. Openparallel.wordpress.com. 2010-11-01 [2011-04-12]. (原始内容存档于2011-03-16). 
  10. ^ TBB in WordPress – White Paper« Open Parallel. Openparallel.wordpress.com. 2010-11-01 [2011-04-12]. (原始内容存档于2011-03-19). 

外部連結

{{bottomLinkPreText}} {{bottomLinkText}}
HipHop for PHP
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?