[copy] typecho中上传文件失败的解决方法
利用 typecho 上传文件(附件)时,提示上传失败。
环境
Ubuntu 16.04
typecho 1.1
PHP7.0
Nginx
失败的原因
- PHP 限制了上传文件的大小
- Nginx 限制了上传文件的大小
现目前在网上能够搜索到的信息,90%的都只提到了错误原因是由PHP的配置文件引起的,我看到的就一篇文章(参考文献2)提到了Nginx的问题,并在其文章的帮助使得我将问题有效地解决掉了,在此表示感谢。
如何解决
修改PHP配置文件
注意一定是fpm
文件夹下的php.ini
,我的文件路径是/etc/php/7.0/fpm/php.ini
。
在这里面我们需要注意三个参数:
post_max_size
限制通过POST方法可以接受的信息最大量upload_max_filesize
限制PHP处理上传文件的最大值,此值不能大于post_max_size值max_execution_time
最大传输时间,若超过,则上传失败,单位是秒。若设置为0,则表示没有时间限制
post_max_size=128M
upload_max_filesize=128M
max_execution_time=300
重启服务 service php7.0-fpm restart
修改Nginx配置文件
Nginx默认的限制上传文件大小为1M,因此需要修改其配置文件nginx.conf
。
我的路径是/etc/nginx/nginx.conf
编辑nginx.conf
,在http {}
段中添加client_max_body_size 50m;
重启服务 service nginx restart
Reference
[1] 解决Typecho上传文件过大导致上传失败的方法
[2] Typecho上传附件大小限制问题
源 typecho中上传文件失败的解决方法