php表單提交時擷取不到post資料的解決方案

來源:互聯網
上載者:User

標籤:space   資料   cti   copyto   workspace   分享   uil   地址   技術   

原文:http://blog.csdn.net/whd526/article/details/53263181

 

博主運行PHP環境:windows+phpstorm+xampp

初學php,用echo $_POST["variable"]和var_dump($_POST) 都擷取不到post資料。

解決方案如下:

1.找到php.ini 設定檔,尋找enable_post_data_reading變數,確保其開啟狀態:

 

2.觀察你的運行php的瀏覽器地址,會發現在PhpStorm中開啟瀏覽器使用的服務連接埠號碼是63342(URL是localhost:63342/這樣的形式)

 

因此問題的原因在於:PhpStorm預設使用的是內建的內部伺服器,卻不使用xampp裡面的apache伺服器。phpStorm這個內建伺服器使用63342連接埠,而且伺服器內部有問題,導致POST方法異常;而如果把項目放在Apache伺服器的工作目錄下,在地址欄輸入localhost,此時使用的是Apache伺服器,預設連接埠號碼為80,Apache伺服器可以正常運行程式。

 

 

既然PhpStorm內部伺服器有問題,那解決方案就是想辦法不使用內部伺服器。有兩種方法:

1.將項目建立在Apache伺服器的工作目錄下,每次運行時在瀏覽器地址欄直接輸入localhost地址

2.如果仍希望通過從PhpStorm中開啟瀏覽器偵錯工具,可以通過更改配置實現:

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

 

做法如下:

1. 找到 /xampp/apache/conf/httpd.conf 檔案

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

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

[plain] view plain copy 
  1. # /phpworkspace/ : 其它磁碟上目錄的別名, 就是你想映射過來的目錄的別名  
  2. # "E/phpworkspace/" : 這個是目錄的絕對路徑  
  3. Alias /phpworkspace/ "E/phpworkspace/"  
  4. # 現在就可以通過 //localhost/phpworkspace/ 訪問到 E盤下phpworkspace檔案夾裡的項目了  

 

4. 

 

在與 <ifModule alias_module> 同級的地方加上一段代碼, 如下:

 

[plain] view plain copy 
  1. <Directory "E/phpworkspace/">  
  2.     AllowOverride All  
  3.     Options Indexes FollowSymLinks Includes ExecCGI  
  4.     Require all granted  
  5. </Directory>  

完工. 現在重啟Apache, 訪問 : http://localhost/phpworkspace/ 就可以了

 

 

(2)然後在PhpStorm中,依次找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,點擊綠色的加號添加本機伺服器,名字localhost就好了,Type選擇In place:

建立完成後,右側Connection標籤下預設的設定已經將伺服器配置為80連接埠下的Apache伺服器,即http://localhost

將其改成你映射到本地項目的工作目錄:


Mappings標籤下的Local path設定成你本地項目的目錄:

 

 此時從PhpStorm中點擊瀏覽器,訪問的URL已經沒有了63342連接埠這個欄位,而是使用了本地Apache伺服器,相應的表單資料也可以正常接收了   參考資料:1.知乎:木子林夕的回答2.HolyNova的博文:Apache HTTP 伺服器目錄映射到本地目錄

php表單提交時擷取不到post資料的解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.