问题
I need to run a given package on both HHVM runtime and traditional PHP runtime. My question: is there a way to check programmatically if current environment is HHVM? Something like this:
<?php
if(running_on_hhvm()) {
// do hhvm compatible routine
}
else {
// do normal routine
}
回答1:
You can utilise the constant HHVM_VERSION
specific to HHVM:
if (defined('HHVM_VERSION')) {
// Code
}
You can put this in your own function if you want.
function is_hhvm() {
return defined('HHVM_VERSION');
}
if (is_hhvm()) {
// Code
}
Source: http://www.hhvm.com/blog/2393/hhvm-2-3-0-and-travis-ci
回答2:
Some older versions of HHVM don't have HHVM_VERSION defined. They all output "HipHop" in phpinfo().
function is_hhvm(){
ob_start();
phpinfo();
$info=ob_get_contents();
ob_end_clean();
return ($info=='HipHop');
}
来源:https://stackoverflow.com/questions/20777815/how-to-programmatically-check-if-running-on-hhvm