通常,为了将参数传递给命令行脚本,您将使用
argv全局变量或getopt:
// bash command:// php -e myscript.php helloecho $argv[1]; // prints hello// bash command:// php -e myscript.php -f=world$opts = getopt('f:');echo $opts['f']; // prints world$ _GET引用HTTP GET方法参数,该参数在命令行中不可用,因为它们需要Web服务器来填充。
如果您确实想填充$ _GET,则可以执行以下操作:
// bash command:// export QUERY_STRING="var=value&arg=value" ; php -e myscript.phpparse_str($_SERVER['QUERY_STRING'], $_GET);print_r($_GET);
您还可以执行给定脚本,
$_GET从命令行填充,而无需修改所述脚本:
export QUERY_STRING="var=value&arg=value" ; php -e -r 'parse_str($_SERVER["QUERY_STRING"], $_GET); include "index.php";'
请注意,您也可以使用
$_POST和进行相同的操作
$_cookie。



