今天上传文件的时候发现大小超限了,我又懒得压缩,于是乎Google了一下怎么改上传文件限制。

Google后发现是PHP限制了上传的大小,在这里记录一下一些相关的配置:

file_uploads on
是否允许通过HTTP上传文件的开关。默认为ON即是开

upload_tmp_dir –
文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹

upload_max_filesize 50m
允许上传文件大小的最大值。默认为2M

post_max_size 50m
指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M

一般来说,设置好上述四个参数后,在网络正常的情况下,上传<=50M的文件是不成问题的
但如果要上传>50M的大文件的话,只设置上述四项还不一定能行的通。除非你的网速够快,否则你还得继续设置下面的参数。

max_execution_time 300
每个PHP页面运行的最大时间值(秒),默认30秒

max_input_time 60
每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit 8m
每个PHP页面所占用的最大内存,默认8M

修改完后重启,发现还是无法上传。接着Google,发现是Nginx的原因。Nginx中有一个配置选项client_max_body_size,这个选项缺省默认为1M,所以还是无法上传超过1M的文件。

那就改吧。进入那就改吧。进入nginx.conf文件,在http段里面添加一句话:

client_max_body_size 50M;

重启Nginx和PHP,就可以上传了。

最后修改:2021 年 06 月 07 日
如果觉得我的文章对你有用,请随意赞赏