有时候确实需要上传一些比较大的文件,老高的服务器是nginx+php,二者都需要配置。

nginx

老高刚开始只是配置了PHP,每次传输大文件总是报错

413 “Request Entity Too Large”

原因是nginx限制了客户端上传文件大小,修改的方法很简单,修改client_max_body_size为需要的值即可!

# 搜索client_max_body_size,如果你的配置文件很少,就不需要搜索,直接打开配置文件的server段
grep -nr client_max_body_size .


# 修改为200M
client_max_body_size 200M;

# 保存,重启nginx
nginx -s reload

PHP

PHP需要修改的地方比较多,主要是post_max_sizeupload_max_filesize两个地方,还有脚本执行时间,这一点老高建议在运行时在代码中修改,方法是set_time_limit(600);,还有memory_limit要改,不过目前没改也没出错!

RUN sed 's/post_max_size = 8M/post_max_size = 20000M/' -i /usr/local/etc/php/php.ini \
      && sed 's/upload_max_filesize = 2M/upload_max_filesize = 20000M/' -i /usr/local/etc/php/php.ini \
      && sed 's/^;\s*max_input_vars = 1000/max_input_vars = 10000/' -i /usr/local/etc/php/php.ini