如何确定PHP是否从控制台运行?

时间:2012-09-18 10:33:12

标签: php console terminal

php -f script.php param1 param2

目前,我只是在检查是否isset($argv)。这是最好的方式吗?

P.S。 我还想知道所有输入参数是否始终存储在$argv

2 个答案:

答案 0 :(得分:1)

你可以在这里阅读Is there any way to know if a php script is running in cli mode?,你可以使用这个功能:

function is_cli()
{
    return php_sapi_name() === 'cli';
}

答案 1 :(得分:0)

检查是否设置了REQUEST_METHOD

/**
 * Check if the site is being visited (in a browser) or run as a program from the 
 * commandline.
 * @return boolean true if the request appears to come from the WWW, false if not.
 */
function is_web_request () {
    return isset($_SERVER['REQUEST_METHOD']);
}