如果我有一个接口可以通过如下方式访问www.a.com/a/b/action?id=1&type=2
现在我想在cli模式下怎么使用这个参数,我之前使用的方式是这样的php /webroot/index.php /a/b/action
但是这中方式我带上参数就会出错。
如果我有一个接口可以通过如下方式访问www.a.com/a/b/action?id=1&type=2
现在我想在cli模式下怎么使用这个参数,我之前使用的方式是这样的php /webroot/index.php /a/b/action
但是这中方式我带上参数就会出错。
谢邀 sorry 不太了解thinkphp 不过/a/b/action这个控制器的get参数是从http请求中拿的 理论上你从cli是无法拿到的哦 不知道你cli访问的目的是什么 是否可以用 curl www.a.com/a/b/action?id=1&type=2
这种命令代替? 或者在/a/b/这个控制器中试试判断cli环境然后手动解析参数。
if (PHP_SAPI === 'cli') {
$getArgs=$argv[1];
//伪代码 解析可以用给action?id=1&type=2 拼个假host然后用parse_url拿get参数
$param=parse($params);
}
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答623 阅读✓ 已解决
802 阅读
$_GET是Http Get方法的参数,它在命令行模式下不可用,因为它需要web server来填充。
如果你非要用的话,可以在脚本前面加上
或者不想改动脚本,这样搞
Stack Overflow传送门