-
-
Save abrkof/5af8d9b9c80bf39a57f6896b45dab95d to your computer and use it in GitHub Desktop.
Hiphop-php HHVM working with Codeigniter and Nginx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment