未知原因PHP突然无法获取POST url encoded数据
碰到一个非常诡异的问题:
XP Pro+SP3系统。
昨天程序原本都没问题,重启过一次apache之后,发现PHP无法取得POST url encoded 数据了,但是GET和POST multipart/form-data都可以正常获取。
也就是说当<form method="post">的时候,var_dump($_POST)为 array(0){};
当<form method="post" enctype="multipart/form-data">的时候,$_POST里面才会有值。
确定浏览器发送了POST数据了,无论是谷歌火狐IE6,传统表单提交还是ajax。
也不是只部分页面出现这个问题,所有的php都不行,甚至连phpMyAdmin都无法登录了。
今天尝试了重新安装php5.2.17,重新安装apache2.2.22.0,都无法解决。
没办法,只好使用 IIS5.1 + PHP5.2.17 isapi再测试,结果这回倒可以了,但我总不好改用IIS吧……
回忆昨天重启apache后出现问题之前,好像是运行过一次php下的go-pear.bat,然后在第一个界面就直接点叉关闭了;也有可能修改了一些其他的php.ini配置;
但最后我都重新解压了原版的php,重装了apache,按说应该不太可能是他们的原因?还是操作系统出什么诡异的状况了?
哪位大侠碰到过这种问题么?我真不想重装系统……
XP Pro+SP3系统。
昨天程序原本都没问题,重启过一次apache之后,发现PHP无法取得POST url encoded 数据了,但是GET和POST multipart/form-data都可以正常获取。
也就是说当<form method="post">的时候,var_dump($_POST)为 array(0){};
当<form method="post" enctype="multipart/form-data">的时候,$_POST里面才会有值。
确定浏览器发送了POST数据了,无论是谷歌火狐IE6,传统表单提交还是ajax。
也不是只部分页面出现这个问题,所有的php都不行,甚至连phpMyAdmin都无法登录了。
今天尝试了重新安装php5.2.17,重新安装apache2.2.22.0,都无法解决。
没办法,只好使用 IIS5.1 + PHP5.2.17 isapi再测试,结果这回倒可以了,但我总不好改用IIS吧……
回忆昨天重启apache后出现问题之前,好像是运行过一次php下的go-pear.bat,然后在第一个界面就直接点叉关闭了;也有可能修改了一些其他的php.ini配置;
但最后我都重新解压了原版的php,重装了apache,按说应该不太可能是他们的原因?还是操作系统出什么诡异的状况了?
哪位大侠碰到过这种问题么?我真不想重装系统……
...全文
相关推荐
PHP基于curl post实现发送url及相关中文乱码问题解决方法
在这里,我们使用`http_build_query()`函数将数组转换为URL-encoded字符串,这是大多数Web服务器期望的POST数据格式。
php获取通过http协议post提交过来xml数据及解析xml
### PHP获取HTTP协议下POST提交的XML数据当客户端通过HTTP的POST方法提交XML数据时,服务器端的PHP脚本可以通过全局数组`$_POST`或者`php://input`流来获取原始的
php curl post 时出现的问题解决
在使用PHP的cURL库进行POST请求时,我们可能会遇到一些问题,尤其是数据传输格式不正确,导致接收端无法正确解析数据。
PHP中Http协议post请求参数
在PHP中,HTTP协议的POST请求参数主要用于向服务器发送数据,这种请求方式通常用于提交表单数据、上传文件等场景,因为POST请求可以承载大量数据且数据不会显示在URL上,提高了数据的安全性。
PHP中使用file_get_contents post数据代码例子
file_get_contents() 默认是通过GET方法获取数据,但通过适当配置,它也可以用来通过POST方法发送数据。


基础编程
