Setup a test environment for HipHop VM.
The final VM will contain HHVM, Nginx, PHP, MySQL, ab.
Clone the repository:
$ git clone https://github.com/javer/hhvm-vagrant-vm
$ cd hhvm-vagrant-vmAnd copy your project source into this folder:
$ cp -R /var/www/site/* ./Finally, you should run:
$ vagrant upBy default the VM uses 2GB of memory and 4 CPU core. If you want to use more memory or cores you can edit this settings directly in the Vagrantfile.
If something goes wrong (i.e. insufficient memory when compiling HHVM), you can log into the virtual machine and run building HHVM manually:
$ vagrant ssh
$ sudo -s
$ cd /root/dev/hhvm
$ export CMAKE_PREFIX_PATH=`pwd`/..
$ export HPHP_HOME=`pwd`
$ cmake .
$ make -j5Once everything is done you can log into the virtual machine, setup your project in /var/www/site folder:
$ vagrant ssh
$ cd /var/www/site
$ ...Start HHVM:
$ sudo /etc/init.d/hhvm startNow you can browse your project on the host machine by entering http://127.0.0.1:9080 for serving site using PHP-FPM and http://127.0.0.1:9081 for serving site using HHVM.
When done just log out with ^D and suspend the virtual machine
$ vagrant suspendthen, resume to testing again
$ vagrant resumeRun
$ vagrant haltto shutdown the virtual machine, and
$ vagrant upto boot it again.
You can find out the state of a virtual machine anytime by invoking
$ vagrant statusFinally, to completely wipe the virtual machine from the disk destroying all its contents:
$ vagrant destroy- Virtual Machine user/password: vagrant/vagrant
- Serving site using PHP: http://127.0.0.1:9080/
- Serving site using HHVM: http://127.0.0.1:9081/
- SSH into your vm using your favorite ssh client: ssh://127.0.0.1:2222 (username+password: "vagrant")
- Start nginx:
sudo /etc/init.d/nginx start - Start php-fpm:
sudo /etc/init.d/php5-fpm start - Start HHVM:
sudo /etc/init.d/hhvm start
For building latest version of HHVM you should run the following command on the host machine:
$ vagrant destroy && vagrant up