parse_str (implode('&', array_slice ($ argv,1)), $ _POST);
,我在 https://www.php.net/manual/en/features.commandline.php#108883 上找到了它。 - Pykler这不是很容易做到的。你可以调用php-cgi
二进制文件,并将一个虚假的POST请求导入其中。但是你需要设置大量的CGI环境变量:
echo 'var1=123&var2=abc' | REQUEST_METHOD=POST SCRIPT_FILENAME=script.php REDIRECT_STATUS=CGI CONTENT_TYPE=application/www-form-urlencoded php-cgi
注意:这种方法不足以实现预期功能,但可以类似实现...
如果你只是修补脚本并让它从预定义的环境变量中加载 $_POST 数组,那么做起来肯定更容易。
$_POST = parse_url($_SERVER["_POST"]);
你可以这样调用它:_POST=var=123 php script.php
,以便简化操作。
curl --data "name=ii" "param1=value1¶m2=value2" http://test.com/sample.php