1、max_input_time 从php 脚本开始执行时算起
    文件上传在 php 脚本执行时已经完成了,所以没有影响
2、正确!因为文件上传时传输的是经过base4编码的数据,php在接收时有一个解码过程,所以需要1:1的内存空间,否则失败。超过upload_max_size的错误是 php 脚本执行时可能出现的错误,前面已经说了,上传是在php脚本执行之前进行的。所以php不会报这个错
3、MAX_FILE_SIZE 至少在php5中是无效的,应该是一个bug

解决方案 »

  1.   

    1、”脚本接收输入数据”是否指什么数据?
    那按默认的设置:max_execution_time = 30;max_input_time=60。假设:脚本接收输入数据需要40秒,会不会在30秒时页面就已经超时了,max_input_time也就没有了,是不是这样子?
    ---------------------------------------------------------------------------------
    2、1.9G的视频,php在解码时需要1.9G的内存,但memory_limit只有128M,按理说,是不是应该报个内存不够的错误?
      

  2.   

    上传文件有两个参数有影响 upload_max_size和post_max_size
    因为上传是用post方式传输的,post_max_size 这个有调大吗?memory_limit 与 上传的文件大小关系不大,这个是php程序运行过程中所用到的内存。
    而上传是在php执行之前运行的,所以调用的内存与memory_limit没有关系。
      

  3.   


    1、post_max_size 按默认的;2、按版主的说法,上传完之后,php有一个解码过程,相应的需要1.9G的内存来处理。那这个解码是在什么时候呢?
      

  4.   

    再看了手册,对max_input_time是这样解释:脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。 它从接收所有数据到开始执行脚本进行测量的。是不是应该这样理解:文件上传之后,到PHP脚本执行之前,是不是还有一段时间是PHP解析POST/GET数据?而max_input_time就是限制这段时间的,而不是你所说的“从PHP脚本开始执行算起"?另外,你所说的文件解码,是不是就是PHP解析POST数据?也是在这段时间内进行?
      

  5.   

    本地测试,上传1.25G的文件,max_input_time=1,正常不报错
    所以,我是否可以下结论:max_input_time无论怎么设置,对上传大文件都没什么影响?
    至于网速是否会影响,过几天买个空间再来测试max_execution_time = 3
    max_input_time = 1
    upload_max_filesize = 2048M
    post_max_size = 3024M
    if(!empty($_FILES)){
    echo "<pre />";
    print_r($_FILES);
    }
    <form enctype="multipart/form-data" method="POST">
    <input type="file" name="upfile" />
    <input type="submit" value="提交" />
    </form>