HHWM簡介:mysql
HHWM(HipHop VM) 是Facebook推出的用來執行PHP代碼的虛擬機,它是一個PHP的JIT(Just-In- Time)編譯器,同時具備產生快速代碼和即時編譯的優勢。nginx
HHWM能作什麼?web
幾乎能夠作任何事情,HHWM主要專一於服務器端腳本,這樣你就能夠收集表單數據,生成動態頁面內容,或者發送和接收的cookies。除此,HHVM能夠作更多的事情。sql
HHVM腳本主要應用於兩大領域:數據庫
你須要運行一個鏈接HHVM安裝的web服務器,你能夠經過一個web瀏覽器訪問Hack程序的輸出,經過服務器查看Hack頁面。全部的這些均可以在你的家用電腦上運行。編程
HHVM徹底支持各類Linux操做系統的變種,包括Ubuntu,CentOS的,Debian等等,HHVM也能夠安裝在Mac OS X, 只在解釋模式下運行(無JIT, 正在開發). Windows的支持正在積極開發。對於當今絕大多數web 服務器, HHVM也都有很好的支持,這包括使用FastCGI協議的各類web服務器,如:Apache, lighttpd 和nginx.瀏覽器
使用HHVM,你能夠自由的選在一個操做系統和一個web服務器。此外,你還可使用過程編程或面向對象編程(OOP),或它們二者的混合物的選擇。固然,你能夠選擇使用Hack或PHP做爲編程語言。緩存
使用HHVM,你能夠再也不受限於HTML的輸出能力。HHVM的能力不只侷限於此,它還包括輸出圖片,PDF文件,甚至動態Flash(使用libswf和Ming),固然你也能夠很是簡便的輸出任何文本,例如XHTML和任意XML文件. HHVM可自動生成這些文件,並將其保存到文件系統,而不是直接輸出,造成一種動態內容的服務器端的緩存。服務器
HHVM一個最強大,最顯著特徵就是普遍的數據庫支持,可使用一個特定的數據庫擴展來,或使用一個像PDO樣的抽象層,或者經過ODBC擴展連接到任何支持開放式數據庫連接標準的數據庫,編寫一個啓用數據庫功能的網頁會是難以置信的簡單(例如, mysql)。其餘數據庫能夠利用cURL 或者 sockets.cookie
HHVM也能夠經過使用如LDAP, IMAP, HTTP等的協議來提供對其餘服務交互的支持。你也能夠開放一個Raw Network Sockets ,使用任何其餘協議進行交互。HHVM支持在幾乎全部的Web編程語言見的WDDX複雜數據的交換。
HHVM具備卓有成效的文本處理功能,包括 perl 兼容的正規表達式(PCRE),以及解析和操做XML文檔的多種擴展和工具。HHVM以libxml2爲基礎標準化了全部XML的擴展,於此同時也擴展了XML功能集,加入了SimpleXML, XMLReader 和XMLWriter的支持。
本文不足以列出HHVM全部的功能和優點。你能夠經過閱讀Hack 功能參考手冊(後續補上)來進一步瞭解本頁提到的擴展。