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 功能参考手册(后续补上)来进一步了解本页提到的扩展。