如何在不使用php_sapi_name()的情况下确定脚本是从CLI还是CGI(包括Google App Engine)运行?
编辑:不依赖于未定义的行为。
Google App Engine说:
php_sapi_name() has been disabled for security reasons
虽然我可以在php.ini中重新启用它,但我不愿意,尤其是。因为我找不到陈述的安全理由。
编辑:if(isset($ argv [1]))似乎有效,但依赖于CGI中$ argv的未定义行为。 http://php.net/manual/en/reserved.variables.argv.php。
答案 0 :(得分:0)
检查$_SERVER
超全局变量以获取以下值之一:
if (!isset($_SERVER['SERVER_ADDR'])) {
echo 'this is run on the cli';
}
如果您想检查google-app引擎,请根据他们的文档$_SERVER['APPLICATION_ID'];
12:00