Web开发中,文件的上传和处理是很常用也是非常重要的一种操作,使用PHP+Apache组合进行开发时,后台对上传文件的大小、上传时间等都有默认限制(例如内存限制为2M),2M这一限定值显然有很多需求不能满足,如果想要上传更大的文件,需要对PHP的配置文件进行更改,主要分为一下几个步骤(假设需要将文件大小设定为200M):
找到配置文件,路径为 /etc/php/7.0/apache2/php.ini,以及/etc/php/7.0/cgi/php.ini. 两个文件内容一致,都需要修改,只修改一个可能无效。
设置file_uploads = on. 允许通过HTTP进行文件传输,默认值通常已经被设定为on.
设置upload_max_filesize=200M. 允许上传文件的大小,默认值为2M.
设置post_max_size = 200M. 通过表达POST给PHP的最大允许值,默认值为8M.
此时文件大小的限制已经被设定完毕,但上传大文件所需时间也会比小文件长,保险起见最好再修改一下上传时间限制:
max_execution_time = 600. 每个PHP页面运行的最大时间,以秒为单位,默认值为30秒。
max_input_time = 600. 每个PHP页面接收数据所需的最大时间,默认值为60秒。
memory_limit = 200M. 每个PHP页面占用的最大内存,默认值为8M.
修改完毕后保存文件,如果无效可以再尝试重启Apache服务器,使用如下命令:
$ sudo /etc/init.d/apache2 restart