在 PHP 7.2 下报错:mb_parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. 的分析解决

1、请求参数数量为 1136 个,如图1

图1

2、在 PHP 7.2 下报错:mb_parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini.。如图2

图2

3、max_input_vars 表示接受多少 输入的变量(限制分别应用于 $_GET、$_POST 和 $_COOKIE 超全局变量) 指令的使用减轻了以哈希碰撞来进行拒绝服务攻击的可能性。 如有超过指令指定数量的输入变量,将会导致 E_WARNING 的产生, 更多的输入变量将会从请求中截断。编辑 C:\php-7.2.14\php.ini,设置其值等于 10000

; How many GET/POST/COOKIE input variables may be accepted
; max_input_vars = 1000
max_input_vars = 10000

4、重启 PHP 进程,再次请求,报错:Maximum execution time of 30 seconds exceeded,如图3

图3

5、max_execution_time 表示脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。 从命令行运行 PHP 时,默认设置为 0。编辑 C:\php-7.2.14\php.ini,设置其值等于 300

; max_execution_time = 30
max_execution_time = 300

6、重启 PHP 进程,再次请求,成功响应,如图4

图4

永夜