网站502错误的极端问题(php提交表达值超过1000)
2013-08-11 13:54:55   来源:   浏览: 次

导读:公司论坛使用的是discuz开源程序,环境是centos5 5,nginx,但昨天开始后台不能添加板块(板块超过1000),提示502错误。 在网上找了很多
公司论坛使用的是discuz开源程序,环境是centos5.5,nginx,但昨天开始后台不能添加板块(板块超过1000),提示502错误。

在网上找了很多解决办法,都是一些常见的,都不能解决问题。

最终由东哥提出解决方法:

原因分析如下
服务器环境为Nginx,采用Fast-CGI方式执行PHP程序。PHP中有一项设置为max_input_vars,即提交的表单中最大input数量,默认为1000。
因名刀论坛中版块数比较多,超出了默认值1000的设置,PHP的Fast-CGI程序执行时报错,发送了stderr错误给Nginx,因此Nginx报502 Bad Gateway错误。
Apache一般采用模块(Load Module)方式运行PHP,因此出现的错误可能不一样,不会报502错误。

解决方法如下
在PHP的配置文件php.ini中加一条配置项,将max_input_vars设置一个更大的值,如:
max_input_vars = 50000
重启PHP的Fast-CGI程序即可。