Мне нужно запустить заданный пакет как во время выполнения HHVM, так и в традиционной среде выполнения PHP . Мой вопрос: есть ли способ проверить программно, если текущая среда HHVM? Что-то вроде этого:
<?php if(running_on_hhvm()) { // do hhvm compatible routine } else { // do normal routine }
Вы можете использовать постоянную HHVM_VERSION
специфичную для HHVM:
if (defined('HHVM_VERSION')) { // Code }
Вы можете поместить это в свою собственную функцию, если хотите.
function is_hhvm() { return defined('HHVM_VERSION'); } if (is_hhvm()) { // Code }
Источник: http://www.hhvm.com/blog/2393/hhvm-2-3-0-and-travis-ci
В некоторых старых версиях HHVM не определено HHVM_VERSION. Все они выводят «HipHop» в phpinfo ().
function is_hhvm(){ ob_start(); phpinfo(); $info=ob_get_contents(); ob_end_clean(); return ($info=='HipHop'); }
оfunction is_hhvm(){ ob_start(); phpinfo(); $info=ob_get_contents(); ob_end_clean(); return ($info=='HipHop'); }