根据the docs,max_input_time
只是给PHP时间来解析GET / POST变量,并且一旦脚本执行开始就没有效果。
max_input_time integer这将设置脚本的最长时间(以秒为单位) 允许解析输入数据,如POST和GET。时间开始于 PHP在服务器上调用的那一刻,在执行时结束 开始。
root@server [/]# php -d max_execution_time=0 -d max_input_time=2 -r '$i=1;while($i > 0) { $i++; }'
Fatal error: Maximum execution time of 2 seconds exceeded in Command line code on line 1
Call Stack:
0.2004 228000 1. {main}() Command line code:0
root@server [/]#
将最大执行时间设置为0应该会导致没有限制,实际上如果删除max_input_time
指令,则脚本会继续运行。但是如果你设置max_input_time=2
,那么就会得到上述结果。
这是一个错误吗?如果没有,你如何解释这种行为?命令行PHP被认为是“输入数据”吗?
CentOS 6上的PHP 5.5.20。