Php 如何使用cgi fcgi在CLI模式下检测

Php 如何使用cgi fcgi在CLI模式下检测,php,apache,exec,command-line-interface,fastcgi,Php,Apache,Exec,Command Line Interface,Fastcgi,php\u sapi\u name()在CLI和web中返回cgi fcgi:( 当PHP使用fcgi运行时,是否有可靠的方法检测脚本当前是否以命令行模式运行 编辑:nvm。结果是我不得不运行可执行lol的PHPCLI检查$\u服务器和$\u ENV超全局数组 请尝试使用$\u服务器['REMOTE\u ADDR']或$\u服务器['argc'] 我从表格中找到了一个很好的答案 试试这个。无论你有什么不同: if (defined('PHP_SAPI')) { echo PHP_SAPI;

php\u sapi\u name()
在CLI和web中返回
cgi fcgi
:(

当PHP使用fcgi运行时,是否有可靠的方法检测脚本当前是否以命令行模式运行


编辑:nvm。结果是我不得不运行可执行lol的
PHPCLI
检查
$\u服务器和
$\u ENV
超全局数组

请尝试使用$\u服务器['REMOTE\u ADDR']
或$\u服务器['argc']

我从表格中找到了一个很好的答案


试试这个。无论你有什么不同:

if (defined('PHP_SAPI')) {
  echo PHP_SAPI;
}

这在这个盒子上对我有用: Debian7、Apache2.2、PHP5.4.4-14+deb7u7(cgi fcgi)和PHP5.4.4-14+deb7u7(cli)

if (defined('PHP_SAPI')) {
  echo PHP_SAPI;
}
function is_cli() 
{
    return (
        !array_key_exists('SERVER_SOFTWARE', $_SERVER)
        && (php_sapi_name() === 'cli' || !array_key_exists('REMOTE_ADDR', $_SERVER))
    );
}