利用 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中上传文件失败的解决方法

标签: 副本

添加新评论