将脚本执行限制为命令行

函数 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)));
}