在PHP的默认配置情况下,当上传的文件大小超出一定的限制时(通常默认为8M),我们将得到如下的错误提示信息:
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
配置文件进行相应的修改。