欢迎各位兄弟 发布技术文章
这里的技术是共享的
通常,为了将参数传递给命令行脚本,您将使用argv全局变量或
getopt:
// bash command:
// php -e myscript.php hello
echo $argv[1]; // prints hello
// php -e myscript.php -f=world
$opts = getopt('f:');
echo $opts['f']; // prints world
$ _GET指的是HTTP GET方法参数,它们在命令行中不可用,因为它们需要填充Web服务器。
如果你真的想填充$ _GET无论如何,你可以这样做:
// export QUERY_STRING="var=value&arg=value" ; php -e myscript.php
parse_str($_SERVER['QUERY_STRING'], $_GET);
print_r($_GET);
/* outputs:
Array(
[var] => value
[arg] => value
)
*/
您还可以执行给定的脚本,从命令行填充$ _GET,而不必修改所述脚本:
export QUERY_STRING="var=value&arg=value" ; \
php -e -r 'parse_str($_SERVER["QUERY_STRING"], $_GET); include "index.php";'
注意,你也可以对$ _POST和$ _COOKIE做同样的事情。
来自 https://blog.csdn.net/weixin_42520277/article/details/115735059?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-115735059-blog-115242143.235%5Ev27%5Epc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-115735059-blog-115242143.235%5Ev27%5Epc_relevant_default&utm_relevant_index=2