懂php fastcgi协议的看看, 获取不到$_POST ?

发布于 2022-09-04 22:45:26 字数 794 浏览 18 评论 0

实现一个http服务器, 在支持php时, 使用fastcgi协议与php-fpm通信

实现get请求是发送QUERY_STRING和SCRIPT_FILENAME到php-fpm, 服务器返回结果,这里正常.

实现post请求是发送content-length字段和body内容到fastcgi服务器, 然后服务器返回结果.像下面这样

表单代码

<html>
<body>
<form action = "file.php" method  = "POST" >
    <input type="text" name="age" />
    <input type="submit"  />
</form>
</body>
</html>

php代码

<?php
var_dump($_POST['age']);

发送的参数

SCRIPT_FILENAME : /home/tan/Demo/studyHttpd/htdocs/file/file.php
REQUEST_METHOD : POST
QUERY_STRING : 
CONTENT_TYPE : application/x-www-form-urlencoded
CONTENT_LENGTH : 7

发送的body为 , 也就是表单中的内容

age=123

为什么php-fpm返回结果为NULL呢 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

对你再特殊 2022-09-11 22:45:26

你分别打印$_POST$_REQUEST
即:

var_dump($_POST);
var_dump($_REQUEST);
奢欲 2022-09-11 22:45:26

fastcgi客户端往PHP-FPM发送表单POST数据不是这么玩的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文