调整php服务器允许的最大post数据大小

  • A+

加入VIP,可以享受无广告视频播放!更可享受教程提前看!详情猛戳:VIP介绍

新VIP系统上线大酬宾!最高150-200元优惠!详情猛戳:新VIP系统上线

最近因为一些业务原因切了一下服务器,从apache2.4改成了IIS8.5。

另外,PHP5.x可能在今年年末听说官方将会不再维护了,所以升级了一下服务器到PHP7,同时进行了大面积的网站改版。

一下子的全面更换让我忙上忙下,有好多东西要搞,也就不知道哪块可能会出问题了。IIS和PHP7这块我都是第一次接触,要学的东西有很多。

前几天还是正常的注册等操作,今天突然不正常了起来。

起因是我想给我的页脚小工具菜单加上几个新链接,结果发现点击添加菜单项的时候,那个进度条转啊转的都转不停,我就觉得咦这是咋回事儿。因为今早上我升级后台插件或者发文章的时候都是正常的。

于是我换用实时预览的方式来添加菜单项,这次是添加上来了,但是点发布的时候,却报错,说服务器暂时无法保存啥啥的,让我待会儿再试。这样我就知道出问题了。

 

问题可能出现在IIS或者PHP上,感觉数据库不太可能,毕竟我都能登录后台,估计数据库的连接没啥问题。IIS上我就不清楚不了解了,会不会是目录访问权限的问题呢,一想估计不是,毕竟我保存菜单等操作涉及到的是数据库,跟文件没有关系。

那前段时间我就换了php7了,那时候调试注册页面是没有问题的,现在咋出问题了呢。所以一开始我定位可能是IIS切换的有些配置有问题。虽然前台页面能浏览,但是可能无法注册用户等,登录应该是ok的,毕竟我能登录到管理后台。

于是我又去注册页面测试了一下,果然,在正确输入信息的情况下,无法获取验证码,抓了个包,发现给我提示了个500错误。我就知道应该是服务器哪块出错了。

于是我到IIS的后台,将网站的错误调试打开,再次抓包点击获取验证码按钮,发现具体的错误原来是来自于PHP,是一串英文,不过我一看就明白了,说的就是POST的大小为76bytes,但是post的最大限制提交长度为50bytes,超过了限制,所以无法提交,报错。

照我过去的了解,post能发送的长度是无限制的。不过这里竟然出现了最大长度,那也可能是别的什么程序之类的修改了我的PHP配置,因为我确信自己是没有改过这种数值的。

于是我来到我的php.ini文件中,搜索“post_max_size”这一行,发现的确进行了限制,内容确实是50开头的。因为这个限制设置成0是无限制,所以我尝试设置成0,重启php,发现确实如此,这次注册、保存菜单都没有问题了。

 

如果有其他站长遇到类似的情况也可以尝试来设置一下,希望对你们有帮助。

 

 

补充:

后来经过检查发现,可能是过去修改php.ini的时候不小心在某个位置打了个回车什么的,导致配置全乱套了,这一行的加载到那一行去,怪不得会出现这样的奇葩错误。

看来还是我的锅,修复方法也很简单,卸载现在的php,然后重装一下,原始的配置文件就回来了,进行对应配置即可,post_max_size的默认值为50M,可能之前参数搞乱了所以只识别了50,所以变成50bytes,设置回默认值即可。