summaryrefslogtreecommitdiffstats
path: root/development/hhvm/README
blob: 4d72d13f8156318f7c27831e26bb41c8ac6f2b47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
HHVM is an open-source virtual machine designed for executing
programs written in Hack and PHP. HHVM uses a just-in-time (JIT)
compilation approach to achieve superior performance while maintaining
the development flexibility that PHP provides.

Hack is a programming language for HHVM. Hack reconciles the fast
development cycle of a dynamically typed language with the discipline
provided by static typing, while adding many features commonly found
in other modern programming languages.

Please note that HHVM is unsupported on 32-bit OSes and there are no
current plans to ever add support.

In order to start HHVM at boot and stop it properly at shutdown, 
make sure rc.hhvm is executable and add the following lines to 
the following files:

	/etc/rc.d/rc.local
	==================
	# Startup HHVM
	if [ -x /etc/rc.d/rc.hhvm ]; then
		/etc/rc.d/rc.hhvm start
	fi

	/etc/rc.d/rc.local_shutdown
	===========================
	# Stop HHVM
	if [ -x /etc/rc.d/rc.hhvm ]; then
		/etc/rc.d/rc.hhvm stop
	fi

Default HHVM configuration uses Unix sockets. If you don't use Apache make sure that your
web server has write access to the socket file. You can create a new group and add
your web server user to this group or just use the main group of your web server and
start HHVM as following:
	hhvm_GROUP=apache /etc/rc.d/rc.hhvm start

FastCGI must be configured to communicate with HHVM.
A good start point is: https://github.com/facebook/hhvm/wiki/FastCGI

To start a project you have to configure the type checker as well.
See the official documentation: http://docs.hhvm.com/manual/en/install.hack.bootstrapping.php
Basically you create an empty .hhconfig file in the root directory of your project:
	touch .hhconfig
and run:
	hh_client

Happy Hacking!