gpt4 book ai didi

php - 如何通过python设置php的$_GET和$_POST变量?

转载 作者:搜寻专家 更新时间:2023-10-31 21:26:02 27 4
gpt4 key购买 nike

我正在为教育目的开发一个简单的 Python Web 服务器。我希望我的服务器能够根据请求运行 PHP 脚本。我可以通过创建一个像这样的子进程来执行 php 代码 answer并将其输出作为字节。这可以帮助我执行大多数 PHP 内置函数。但我还想模拟 $_GET 和 $_POST 变量,例如,当用户发送 POST 请求时,我希望它的参数在 $_POST 全局变量中可用。

我可能会破解我给子进程的命令,但我听说,在像 Apache 这样的真实 Web 服务器中,PHP 从环境变量(我认为是通用网关接口(interface)标准)中获取这些变量的值。

但是,当我设置一个名为 QUERY_STRING 的环境变量时,php 不会设置 $_GET 的值。让我展示一下大图:

索引.php

<?php var_dump($_GET); ?>

我在 shell 中的命令:

export QUERY_STRING="foo=bar"
php index.php

这个截断的命令没有给我想要的输出 (Array => ['foo'] = 'bar')。这是我的问题:

  • 我在上面截断的代码中犯了什么错误?
  • 如何将这两个全局变量($_GET 和 $_POST)注入(inject)到 Python 中的 PHP 脚本中?

我的python版本是3.4.3,我用的是ubuntu 14.04

最佳答案

试试这个:

$ php -f index.php foo=bar

在索引 php 中做:

parse_str(implode('&', array_slice($argv, 1)), $_GET);

之后你会得到这个结果:

echo $_GET['foo'];// prints 'bar'

阅读 page 末尾的示例中的更多信息

关于php - 如何通过python设置php的$_GET和$_POST变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35989765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com