无法使用POST

解决方法如下:
1.找到php.ini 配置文件,查找enable_post_data_reading变量,确保其打开状态,并且该语句前面的分号要去掉(有分号的语句是注释语句):

无法使用POST_第1张图片

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. 找到 代码块
  3. 的子级加上如下代码:
无法使用POST_第2张图片
Paste_Image.png

在与 同级的地方加上一段代码, 如下:

无法使用POST_第3张图片
Paste_Image.png

完工. 现在重启Apache, 访问 : http://localhost/phpworkspace/ 就可以了

我本地电脑:
ScriptAlias /cgi-bin/ "D:/xampp/cgi-bin/" (本地有此路径)
# /phpworkspace/ : 其它磁盘上目录的别名, 就是你想映射过来的目录的别名 (这是注释)
# "E:/phpworkspace/" : 这个是目录的绝对路径 (这是注释)
Alias /phpworkspace/ "D:/myproject/" (项目地址)
(项目地址)
AllowOverride All
Options Indexes FollowSymLinks Includes ExecCGI
Require all granted

(2)然后在PhpStorm中,依次找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,点击绿色的加号添加本地服务器,名字localhost就好了,Type选择In place:

无法使用POST_第4张图片

创建完成后,右侧Connection标签下默认的设置已经将服务器配置为80端口下的Apache服务器,即 http://localhost
将其改成你映射到本地项目的工作目录:
无法使用POST_第5张图片

Mappings标签下的Local path设置成你本地项目的目录:


无法使用POST_第6张图片

此时从PhpStorm中点击浏览器,访问的URL已经没有了63342端口这个字段,而是使用了本地Apache服务器,相应的表单数据也可以正常接收了

我本地电脑:

无法使用POST_第7张图片
Paste_Image.png
无法使用POST_第8张图片
Paste_Image.png

你可能感兴趣的:(无法使用POST)