PhpStorm的POST方法无法接收表单数据的解决方法
2016-09-07 12:48
423 查看
最近刚开始学习PHP,装完PhpStorm后写了个表单页面和一个后台打印$_POST的测试程序,发现POST方法接收不到数据,GET和REQUEST可以,另外如果把项目直接放在Apache服务器的工作目录下,然后在地址栏输入localhost是可以正常运行的。经过查找资料和同学讨论,算是解决了这个问题。下面就对这个问题分析一下。
环境说明
WAMP+PhpStorm,我的Apache服务器工作目录更改为D:\www(默认的根目录是htdocs),测试项目在F:\test下。
问题分析
一个简单的表单页面,提交数据后,var_dump($_POST)为空
如果注意观察此时的URL,会发现在PhpStorm中打开浏览器使用的服务端口号是63342(URL是localhost:63342/这样的形式)
因此问题的原因在于:PhpStorm默认使用的是自带的内部服务器,这个服务器使用63342端口,而且服务器内部有问题,导致POST方法异常;而如果把项目放在Apache服务器的工作目录下,在地址栏输入localhost,此时使用的是Apache服务器,默认端口号为80,Apache服务器可以正常运行程序。
解决方法
既然PhpStorm内部服务器有问题,那解决方法就是想办法不使用内部服务器。有两种方法:
1.将项目创建在Apache服务器的工作目录下,每次运行时在浏览器地址栏直接输入localhost地址
2.如果仍希望通过从PhpStorm中打开浏览器调试程序,可以通过更改配置实现:
(1)首先将项目转移到Apache服务器工作目录下(我这里是D:\www)
(2)然后在PhpStorm中,依次找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,点击绿色的加号添加本地服务器,名字localhost就好了,Type选择In place:
创建完成后,右侧Connection标签下默认的设置已经将服务器配置为80端口下的Apache服务器:
Mappings标签下的Local path设置成Apache服务器的工作根目录:
此时从PhpStorm中点击浏览器,访问的URL已经没有了63342端口这个字段,而是使用了本地Apache服务器,相应的表单数据也可以正常接收了
环境说明
WAMP+PhpStorm,我的Apache服务器工作目录更改为D:\www(默认的根目录是htdocs),测试项目在F:\test下。
问题分析
一个简单的表单页面,提交数据后,var_dump($_POST)为空
如果注意观察此时的URL,会发现在PhpStorm中打开浏览器使用的服务端口号是63342(URL是localhost:63342/这样的形式)
因此问题的原因在于:PhpStorm默认使用的是自带的内部服务器,这个服务器使用63342端口,而且服务器内部有问题,导致POST方法异常;而如果把项目放在Apache服务器的工作目录下,在地址栏输入localhost,此时使用的是Apache服务器,默认端口号为80,Apache服务器可以正常运行程序。
解决方法
既然PhpStorm内部服务器有问题,那解决方法就是想办法不使用内部服务器。有两种方法:
1.将项目创建在Apache服务器的工作目录下,每次运行时在浏览器地址栏直接输入localhost地址
2.如果仍希望通过从PhpStorm中打开浏览器调试程序,可以通过更改配置实现:
(1)首先将项目转移到Apache服务器工作目录下(我这里是D:\www)
(2)然后在PhpStorm中,依次找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,点击绿色的加号添加本地服务器,名字localhost就好了,Type选择In place:
创建完成后,右侧Connection标签下默认的设置已经将服务器配置为80端口下的Apache服务器:
Mappings标签下的Local path设置成Apache服务器的工作根目录:
此时从PhpStorm中点击浏览器,访问的URL已经没有了63342端口这个字段,而是使用了本地Apache服务器,相应的表单数据也可以正常接收了
相关文章推荐
- 解决PHP无法通过$_POST接收到AngularJS的post数据的解决方法
- 在Mac平台上PhpStorm POST表单时获取不到数据的解决方法
- 在phpstorm中利用post方法提交form表单后,在响应页面获取不到数据的解决办法
- session_start()导致history.go(-1)返回时无法保存表单数据的解决方法
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- ASP.NET MVC 在控制器中接收视图表单POST过来的数据方法
- Django—Form两种解决表单数据无法动态刷新的方法
- history.go(-1)无法获取表单数据的解决方法
- 关于PHP CURL post数据时数据过大导致无法接收返回信息的处理方法
- Django—Form两种解决表单数据无法动态刷新的方法
- session_start()导致history.go(-1)返回时无法保存表单数据的解决方法
- phpstorm下不能得到post数据解决方法
- ASP.NET MVC 在控制器中接收视图表单POST过来的数据方法
- cc2530 PM2模式唤醒后无法接收数据解决方法
- 【Django】Django—Form两种解决表单数据无法动态刷新的方法
- socket接收服务器数据,输出为乱码或无法输出的解决方法
- 微信中无法接收post方式传参的form表单中的数据的问题
- 微信中无法接收post方式传参的form表单中的数据的问题
- 使用Django Form解决表单数据无法动态刷新的两种方法
- Spring Boot 使用 Spring Security 后无法 POST 提交数据解决方法