在PHP的默认配置情况下,当上传的文件大小超出一定的限制时,我们将得到如下的错误提示信息:
Warning: POST Content-Length of 625523488 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
上述错误信息的大致意思是,我们使用POST请求提交的数据大小超过了服务器的最大限制数(8388608字节=8MB)。
出现上述错误的原因是,在PHP的配置文件php.ini
中,默认存在如下配置信息(在php.ini
中,行首的分号”;”表示当前行是注释,不会生效):
- ;脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。它从接收所有数据到开始执行脚本进行测量的。
- max_input_time =60
- ;允许客户端单个POST请求发送的最大数据
- post_max_size =8M
- ;是否开启文件上传功能
- file_uploads =On
- ;文件上传的临时存放目录(如果不指定,使用系统默认的临时目录)
- ;upload_tmp_dir =
- ;允许单个请求上传的最大文件大小
- upload_max_filesize =2M
- ;允许单个POST请求同时上传的最大文件数量
- max_file_uploads =20
从上面的配置信息中我们可以看出,PHP的默认配置信息就是导致PHP文件上传时提示文件大小超出限制的“罪魁祸首”。上述配置信息中给出了各个指令选项对应的中文注释信息,大家可以根据自己的实际需求情况对php.ini
配置文件进行相应的修改。