2012-09-18 59 views
-1
php -f script.php param1 param2 

此刻,我只是檢查是否isset($argv)。這是最好的方法嗎?如何確定PHP是否從控制檯運行?

P.S. 我也想知道是否所有的輸入參數總是保存在?

+0

你甚至試着問你的問題之前,搜索? [見這裏接受的答案](http://stackoverflow.com/questions/933367/php-how-to-best-determine-if-the-current-invocation-is-from-cli-or-web-server) – RobMasters

+0

是的,$ argv包含所有CLI參數 – confiq

+0

您應該接受一個答案。 –

回答

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']); 
}