溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php為什么接收不到post數(shù)據(jù)

發(fā)布時(shí)間:2020-10-14 16:25:11 來(lái)源:億速云 閱讀:272 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)php為什么接收不到post數(shù)據(jù),小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

檢查頭信息content-type是不是為“content-type:application/x-www-form-urlencoded" 這種傳輸是以表單的方式提交數(shù)據(jù)php使用$_POST方式接受。  

如果頭信息content-type是不是為“content-type:application/json"這種傳輸是以json方式提交數(shù)據(jù),php需要使用file_get_contents("php://input")獲取輸入流的方式接受

初學(xué)php,用echo $_POST["variable"]和var_dump($_POST) 都獲取不到post數(shù)據(jù)。

解決方法如下:

1.找到php.ini 配置文件,查找enable_post_data_reading變量,確保其打開狀態(tài),并且該語(yǔ)句前面的分號(hào)要去掉(有分號(hào)的語(yǔ)句是注釋語(yǔ)句):

2.觀察你的運(yùn)行php的瀏覽器地址,會(huì)發(fā)現(xiàn)在PhpStorm中打開瀏覽器使用的服務(wù)端口號(hào)是63342(URL是localhost:63342/這樣的形式)

因此問(wèn)題的原因在于:PhpStorm默認(rèn)使用的是自帶的內(nèi)部服務(wù)器,卻不使用xampp里面的apache服務(wù)器。phpStorm這個(gè)內(nèi)置服務(wù)器使用63342端口,而且服務(wù)器內(nèi)部有問(wèn)題,導(dǎo)致POST方法異常;而如果把項(xiàng)目放在Apache服務(wù)器的工作目錄下,在地址欄輸入localhost,此時(shí)使用的是Apache服務(wù)器,默認(rèn)端口號(hào)為80,Apache服務(wù)器可以正常運(yùn)行程序。

既然PhpStorm內(nèi)部服務(wù)器有問(wèn)題,那解決方法就是想辦法不使用內(nèi)部服務(wù)器。有兩種方法:

1.將項(xiàng)目創(chuàng)建在Apache服務(wù)器的工作目錄下,每次運(yùn)行時(shí)在瀏覽器地址欄直接輸入localhost地址

2.如果仍希望通過(guò)從PhpStorm中打開瀏覽器調(diào)試程序,可以通過(guò)更改配置實(shí)現(xiàn):

(1)首先將apache服務(wù)器目錄映射到本地目錄

做法如下:

1. 找到 /xampp/apache/conf/httpd.conf 文件

2. 找到 <IfModule alias_module> </ifModule> 代碼塊

3. 在<IfModule alias_module>的子級(jí)加上如下代碼:

# /phpworkspace/ : 其它磁盤上目錄的別名, 就是你想映射過(guò)來(lái)的目錄的別名
# "E:/phpworkspace/" : 這個(gè)是目錄的絕對(duì)路徑
Alias /phpworkspace/ "E:/phpworkspace/"
# 現(xiàn)在就可以通過(guò) //localhost/phpworkspace/ 訪問(wèn)到 E盤下phpworkspace文件夾里的項(xiàng)目了

4. 在與 <ifModule alias_module> 同級(jí)的地方加上一段代碼, 如下:

<Directory "E:/phpworkspace/">
    AllowOverride All
    Options Indexes FollowSymLinks Includes ExecCGI
    Require all granted
</Directory>

完工. 現(xiàn)在重啟Apache, 訪問(wèn) : http://localhost/phpworkspace/ 就可以了

(2)然后在PhpStorm中,依次找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,點(diǎn)擊綠色的加號(hào)添加本地服務(wù)器,名字localhost就好了,Type選擇In place:

創(chuàng)建完成后,右側(cè)Connection標(biāo)簽下默認(rèn)的設(shè)置已經(jīng)將服務(wù)器配置為80端口下的Apache服務(wù)器,即http://localhost

將其改成你映射到本地項(xiàng)目的工作目錄,Mappings標(biāo)簽下的Local path設(shè)置成你本地項(xiàng)目的目錄。

此時(shí)從PhpStorm中點(diǎn)擊瀏覽器,訪問(wèn)的URL已經(jīng)沒(méi)有了63342端口這個(gè)字段,而是使用了本地Apache服務(wù)器,相應(yīng)的表單數(shù)據(jù)也可以正常接收了

關(guān)于php為什么接收不到post數(shù)據(jù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI