web - 懂php fastcgi協定的看看, 取得不到$_POST ?
高洛峰
高洛峰 2017-05-18 10:48:36
0
1
553

實作一個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學習者快速成長!