php表單提交時獲取不到post數(shù)據(jù)的解決方法:首先查找【enable_post_data_reading】變量,并設(shè)置默認(rèn)端口為80;然后設(shè)置不使用內(nèi)部服務(wù)器;最后將服務(wù)器配置為80端口下的apache服務(wù)器即可。
php表單提交時獲取不到post數(shù)據(jù)的解決方法:
1、找到php.ini 配置文件,查找enable_post_data_reading變量,確保其打開狀態(tài):
相關(guān)學(xué)習(xí)推薦:php圖文教程
2、觀察你的運行php的瀏覽器地址,會發(fā)現(xiàn)在phpstorm中打開瀏覽器使用的服務(wù)端口號是63342(url是localhost:63342/這樣的形式)
因此問題的原因在于:phpstorm默認(rèn)使用的是自帶的內(nèi)部服務(wù)器,卻不使用xampp里面的apache服務(wù)器。phpstorm這個內(nèi)置服務(wù)器使用63342端口,而且服務(wù)器內(nèi)部有問題,導(dǎo)致post方法異常;而如果把項目放在apache服務(wù)器的工作目錄下,在地址欄輸入localhost,此時使用的是apache服務(wù)器,默認(rèn)端口號為80,apache服務(wù)器可以正常運行程序。
3、既然phpstorm內(nèi)部服務(wù)器有問題,那解決方法就是想辦法不使用內(nèi)部服務(wù)器。有兩種方法:
1.將項目創(chuàng)建在apache服務(wù)器的工作目錄下,每次運行時在瀏覽器地址欄直接輸入localhost地址
2.如果仍希望通過從phpstorm中打開瀏覽器調(diào)試程序,可以通過更改配置實現(xiàn):
(1)首先將apache服務(wù)器目錄映射到本地目錄
做法如下:
1. 找到 /xampp/apache/conf/httpd.conf 文件
2. 找到 <ifmodule alias_module> </ifmodule> 代碼塊
3. 在<ifmodule alias_module>的子級加上如下代碼:
[plain] view plain copy
# /phpworkspace/ : 其它磁盤上目錄的別名, 就是你想映射過來的目錄的別名 # "e/phpworkspace/" : 這個是目錄的絕對路徑 alias /phpworkspace/ "e/phpworkspace/" # 現(xiàn)在就可以通過 //localhost/phpworkspace/ 訪問到 e盤下phpworkspace文件夾里的項目了4、在與 <ifmodule alias_module> 同級的地方加上一段代碼, 如下:
[plain] view plain copy
<directory "e/phpworkspace/"> allowoverride all options indexes followsymlinks includes execcgi require all granted </directory>完工. 現(xiàn)在重啟apache, 訪問 : http://localhost/phpworkspace/ 就可以了
(2)然后在phpstorm中,依次找到file->settings->build, execution, deployment->deployment,初始是空的,點擊綠色的加號添加本地服務(wù)器,名字localhost就好了,type選擇in place:
創(chuàng)建完成后,右側(cè)connection標(biāo)簽下默認(rèn)的設(shè)置已經(jīng)將服務(wù)器配置為80端口下的apache服務(wù)器,即http://localhost
將其改成你映射到本地項目的工作目錄:
mappings標(biāo)簽下的local path設(shè)置成你本地項目的目錄:
此時從phpstorm中點擊瀏覽器,訪問的url已經(jīng)沒有了63342端口這個字段,而是使用了本地apache服務(wù)器,相應(yīng)的表單數(shù)據(jù)也可以正常接收了