web - 懂php fastcgi协议的看看, 获取不到$_POST ?
高洛峰
高洛峰 2017-05-18 10:48:36
0
1
598

实现一个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呢 ?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
PHPzhong

你分别打印$_POST$_REQUEST
即:

var_dump($_POST);
var_dump($_REQUEST);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!