我想知道是否有人找到了一种方法来检测PHP脚本/程序是通过Facebook的HipHop还是“常规”环境(CLI,mod_php,CGI)运行。
目前我正在使用的解决方法是寻找未实现的功能(例如PHP 5.3函数)并检查所述功能的可用性。当然,这是一个狡猾的黑客(而不是便携式),因为随着HipHop的成熟,将会实现越来越多的功能。
答案 0 :(得分:3)
$_ENV['HPHP']
设置为1。
感谢nicolasff的解决方案
参考:https://github.com/facebook/hiphop-php/issues/382#issuecomment-1754648
答案 1 :(得分:0)
我认为这种方法根本不起作用 - 因为HipHop在项目中静态编译所有代码,你不能包含HipHop无法理解的任何代码路径或函数调用即使它们在运行时被跳过。基本上,为了使您的项目在HipHop下运行,您必须编写大部分(如果不是全部)代码,并假设它已被使用。