在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP/ thinkphp3.2.3在cli命令格式下如何攜帶get參數(shù)

thinkphp3.2.3在cli命令格式下如何攜帶get參數(shù)

如果我有一個接口可以通過如下方式訪問www.a.com/a/b/action?id=1&type=2
現(xiàn)在我想在cli模式下怎么使用這個參數(shù),我之前使用的方式是這樣的php /webroot/index.php /a/b/action但是這中方式我?guī)蠀?shù)就會出錯。

回答
編輯回答
還吻

$_GET是Http Get方法的參數(shù),它在命令行模式下不可用,因?yàn)樗枰獁eb server來填充。
如果你非要用的話,可以在腳本前面加上

// bash command:
//   export QUERY_STRING="var=value&arg=value" ; php -e myscript.php
parse_str($_SERVER['QUERY_STRING'], $_GET);
print_r($_GET);

或者不想改動腳本,這樣搞

php -e -r 'parse_str("id=1&type=2", $_GET); include "index.php";'

Stack Overflow傳送門

2017年7月11日 14:08
編輯回答
久不遇

php index.php module/controller/action/p1/p2/p3/p4
GET = [p1 =>p2, p3=> p4]

2018年1月15日 19:17
編輯回答
傻丟丟

謝邀 sorry 不太了解thinkphp 不過/a/b/action這個控制器的get參數(shù)是從http請求中拿的 理論上你從cli是無法拿到的哦 不知道你cli訪問的目的是什么 是否可以用 curl www.a.com/a/b/action?id=1&type=2這種命令代替? 或者在/a/b/這個控制器中試試判斷cli環(huán)境然后手動解析參數(shù)。

if (PHP_SAPI === 'cli') {
    $getArgs=$argv[1];
    //偽代碼 解析可以用給action?id=1&type=2 拼個假host然后用parse_url拿get參數(shù)
    $param=parse($params);
}
2018年3月16日 00:53