PHP 将脚本执行限制为命令行

函数php_sapi_name()和常量PHP_SAPI都返回PHP使用的接口类型( S erver API )。它们可用于通过检查函数的输出是否等于cli来将脚本的执行限制到命令行。

if (php_sapi_name() === 'cli') {
    echo "Executed from command line\n";
} else {
    echo "Executed from web browser\n";
}

drupal_is_cli()函数是一个函数示例,它检测脚本是否已从命令行执行:

function drupal_is_cli() {
    return (!isset($_SERVER['SERVER_SOFTWARE']) && (php_sapi_name() == 'cli' || (is_numeric($_SERVER['argc']) && $_SERVER['argc'] > 0)));
}