类别:PHP问题 / 日期:2019-12-02 / 浏览:69 / 评论:0

搜检头信息content-type是否是为“content-type:application/x-www-form-urlencoded" 这类传输是以表单的体式格局提交数据php运用$_POST体式格局吸收。 (引荐进修:PHP视频教程)

假如头信息content-type是否是为“content-type:application/json"这类传输是以json体式格局提交数据,php须要运用file_get_contents("php://input")猎取输入流的体式格局吸收

初学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>的子级加上以下代码:

# /phpworkspace/ : 别的磁盘上目次的别号, 就是你想映照过来的目次的别号
# "E:/phpworkspace/" : 这个是目次的绝对路径
Alias /phpworkspace/ "E:/phpworkspace/"
# 如今就能够经由过程 //localhost/phpworkspace/ 接见到 E盘下phpworkspace文件夹里的项目了

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数据缘由的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。