-1
php -f script.php param1 param2
此刻,我只是檢查是否isset($argv)
。這是最好的方法嗎?如何確定PHP是否從控制檯運行?
P.S. 我也想知道是否所有的輸入參數總是保存在?
php -f script.php param1 param2
此刻,我只是檢查是否isset($argv)
。這是最好的方法嗎?如何確定PHP是否從控制檯運行?
P.S. 我也想知道是否所有的輸入參數總是保存在?
正如你可以在這裏閱讀Is there any way to know if a php script is running in cli mode?您可以使用此功能:
function is_cli()
{
return php_sapi_name() === 'cli';
}
檢查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']);
}
你甚至試着問你的問題之前,搜索? [見這裏接受的答案](http://stackoverflow.com/questions/933367/php-how-to-best-determine-if-the-current-invocation-is-from-cli-or-web-server) – RobMasters
是的,$ argv包含所有CLI參數 – confiq
您應該接受一個答案。 –