I am attempting to deploy a Symfony2 (2.4) app on HHVM (3.0) and Apache (2.4) via fastCGI, as per the instructions here - https://github.com/facebook/hhvm/wiki/FastCGI
While I can properly execute single php files this way, it does not seem to work with the Symfony2 routing system. The routes are properly resolved (e.g. localhost/myapp/web/app_dev.php/my/route/to/something), but the pages themselves do not load. Instead, the page simply outputs "not found", and HHVM logs the following:
Nothing to do. Either pass a .php file to run, or use -m server
Which seems indicative that it believes it has not been passed a proper php file.
It should be noted that deployment worked fine using the built-in webserver that came with HHVM 2.x. This server, however, is no longer supported as of HHVM 3.0.
I am at quite a loss as to what configurations to change in order to make this work. Even pointers leading to this being properly resolved would be a good answer.
Finally manage to resolve (most!) of this by using the following configuration file:
Eval {
Jit = true
JitWarmupRequests = 1
}
Log {
Level = Info
Header = true
UseLogFile = true
File = /var/log/hhvm_error.log
Access {
* {
File = /var/log/hhvm_access.log
}
}
}
Server {
IP = 127.0.0.1
Port = 9000
ThreadCount = 77
# Change to match your local root
SourceRoot = /opt/lampp/htdocs/
MaxPostSize = 65 # in MB
}
VirtualHost {
* {
Pattern = .*
RewriteRules {
* {
pattern = .?
# change to app.php for production use
to = app_dev.php
# append the original query string
qsa = true
}
}
}
}
Stats {
Web = true
Memory = true
SQL = true
}
Http {
DefaultTimeout = 5
SlowQueryThreshold = 5000
}
This is based on a config for HHVM 2.* which I found here: http://labs.qandidate.com/blog/2013/10/21/running-symfony-standard-on-hhvm/
In addition, if you are using Doctrine, you will have to modify your dependencies in order to get it working properly with HHVM due to a previous bug: Symfony2 and HHVM Declaration of Doctrine\DBAL\Driver\PDOConnection::prepare() must be compatible
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With