phpinfo HHVM
If you like to use the normal php info in HHVM, you only get “HipHop”. So I look for a better information.
And I found this perfekt php script. So you can get a lot of information. Like Functions, Constants, Globals, ini,….
Linux, BSD, Unix and Security hints
phpinfo HHVM
If you like to use the normal php info in HHVM, you only get “HipHop”. So I look for a better information.
And I found this perfekt php script. So you can get a lot of information. Like Functions, Constants, Globals, ini,….
HHVM Nginx Ubuntu with multiple Site
To run HHVM on Nginx with Ubuntu 14.04 and multiple Site per Server you can use this Howto. I work with Nginx variables, this make it easy to have short Nginx configs.
First step is to install HHVM on the server
sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449 sudo add-apt-repository 'deb http://dl.hhvm.com/ubuntu trusty main' sudo apt-get update sudo apt-get install hhvm
Now you get the following information
******************************************************************** * HHVM is installed. * * Running PHP web scripts with HHVM is done by having your webserver talk to HHVM * over FastCGI. Install nginx or Apache, and then: * $ sudo /usr/share/hhvm/install_fastcgi.sh * $ sudo /etc/init.d/hhvm restart * (if using nginx) $ sudo /etc/init.d/nginx restart * (if using apache) $ sudo /etc/init.d/apache restart * * Detailed FastCGI directions are online at: * https://github.com/facebook/hhvm/wiki/FastCGI * * If you're using HHVM to run web scripts, you probably want it to start at boot: * $ sudo update-rc.d hhvm defaults * * Running command-line scripts with HHVM requires no special setup: * $ hhvm whatever.php * * You can use HHVM for /usr/bin/php even if you have php-cli installed: * $ sudo /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60 ********************************************************************
Now run the install script
sudo /usr/share/hhvm/install_fastcgi.sh sudo /usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
So now you have install the HHVM. Now you must setup the multiple instances.
sudo cp /etc/init.d/hhvm /etc/init.d/hhvm_www_safematix_com sudo cp /etc/default/hhvm /etc/default/hhvm_www_safematix_com sudo cp /etc/hhvm/server_www_canus_at.ini /etc/hhvm/server_www_safematix_com.ini
Now you must edit the configs.
/etc/init.d/hhvm_www_safematix_com
sudo vi /etc/init.d/hhvm_www_safematix_com ... NAME=hhvm_www_safematix_com ... PIDFILE=/var/run/hhvm/pid_$NAME
/etc/default/hhvm_www_safematix_com
## This is a configuration file for /etc/init.d/hhvm. ## Overwrite start up configuration of the hhvm service. ## ## This file is sourced by /bin/sh from /etc/init.d/hhvm. ## Configuration file location. ## Default: "/etc/hhvm/server.ini" ## Examples: ## "/etc/hhvm/conf.d/fastcgi.ini" Load configuration file from Debian/Ubuntu conf.d style location CONFIG_FILE="/etc/hhvm/server_www_safematix_com.ini" ## User to run the service as. ## Default: "www-data" ## Examples: ## "hhvm" Custom 'hhvm' user ## "nobody" RHEL/CentOS 'www-data' equivalent RUN_AS_USER="www_safematix_com" RUN_AS_GROUP="www_safematix_com" ## Add additional arguments to the hhvm service start up that you can't put in CONFIG_FILE for some reason. ## Default: "" ## Examples: ## "-vLog.Level=Debug" Enable debug log level ## "-vServer.DefaultDocument=app.php" Change the default document #ADDITIONAL_ARGS="" ## PID file location. ## Default: "/var/run/hhvm/pid" #PIDFILE="/var/run/hhvm/pid"
/etc/hhvm/server_www_safematix_com.ini
; php options pid = /var/run/hhvm/pid_www_safematix_com ; hhvm specific hhvm.server.port = 9001 hhvm.server.type = fastcgi hhvm.server.default_document = index.php hhvm.log.use_log_file = true hhvm.log.file = /var/log/hhvm/error_www_safematix_com.log hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
Now edit the nginx settings
location ~ \.(hh|php)$ { fastcgi_keep_conn on; fastcgi_pass 127.0.0.1:$siteport; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
vhost config
server { listen [2a01:4f8:210:3101::12]:443 ssl spdy; listen 443 ssl spdy; spdy_headers_comp 5; server_name www.safematix.com safematix.com; root /srv/www/www_safematix_com/htdocs; index index.php index.html index.htm; access_log /srv/www/www_safematix_com/log/www.safematix.com_ssl.access.log; error_log /srv/www/www_safematix_com/log/www.safematix.com_ssl.error.log; ssl_certificate /etc/nginx/ssl/safematix/www.safematix.com.crt; ssl_certificate_key /etc/nginx/ssl/safematix/www.safematix.com.key; ssl_dhparam /etc/nginx/ssl/safematix/www.safematix.com-dhparam.pem; set $siteport 9001; include global/ssl.conf; include global/restrictions.conf; include global/wordpress.conf; include global/php.conf; }
Now enable HHVM at boot and reload service
sudo update-rc.d hhvm_www_safematix_com defaults sudo service hhvm_www_safematix_com start sudo service nginx reload
External Links:
https://github.com/facebook/hhvm/wiki/Prebuilt-packages-on-Ubuntu-14.04
https://github.com/facebook/hhvm/wiki/Getting-Started
https://kinsta.com/blog/real-world-wordpress-benchmarks-with-php5-5-php5-6-php-ng-and-hhvm/
http://webdevstudios.com/2014/07/17/setting-up-wordpress-nginx-hhvm-for-the-fastest-possible-load-times/