您好,登錄后才能下訂單哦!
小編給大家分享一下解決php獲取不到post數據的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!
php獲取不到post數據的解決辦法:1、找到“php.ini”配置文件,查找“enable_post_data_reading”變量;2、將項目創建在Apache服務器的工作目錄下;3、從PhpStorm中打開瀏覽器調試程序,并更改配置。
初學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>的子級加上如下代碼:
4. 在與 <ifModule alias_module> 同級的地方加上一段代碼, 如下:
<Directory "E/phpworkspace/"> AllowOverride All Options Indexes FollowSymLinks Includes ExecCGI Require all granted </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服務器,相應的表單數據也可以正常接收了
以上是解決php獲取不到post數據的問題的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。