Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Hiphop-php HHVM working with Codeigniter and Nginx
I managed to make Codeiniter work with HHVM, using
nginx as a proxy. My problem was that hhvm has problems
with path_info, so I was not able to run /index.php/controller/action or
/controller/action/params -> /index.php/controller/action.params.
I used nginx as a proxy to hhvm. I changed the way codeigniter process
the url. Steps bellow:
Cleaned my HHVM .hdf file:
Server {
Port = 9000
SourceRoot = /usr/share/nginx/www/mysystem
}
VirtualHost {
* {
Pattern = .*
}
}
Configure Nginx:
server {
server_name mymachine;
root /usr/share/nginx/www/mysystem;
index index.php index.html index.htm;
proxy_redirect off;
# Copy request_uri to variable $myuri before processing
set $myuri $request_uri;
location / {
# Check if a file exists, or route it to index.php.
try_files $uri $uri/ /index.php;
}
# Send *.php to Hiphop hhvm
location ~ \.php$ {
proxy_set_header MY_SCRIPT $myuri;
proxy_pass http://127.0.0.1:9000;
}
}
Changed Codeigniter file /application/config/config.php
$config['index_page'] = '';
$config['uri_protocol'] = 'HTTP_MY_SCRIPT';
Restart eveything and it is working for me
@X17
Copy link

X17 commented Jan 2, 2015

Has anyone cracked it yet? how does it affects?

  • performance
  • url structure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment