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上传附件大小限制问题

文章最后更新时间为:2018 年 12 月 14 日 00:02:11

已有 7 条评论
  1. 蒿正杰之父 蒿正杰之父

    非常棒,按照这个方法修改了自己的配置文件。向您学习了!

    1. 不错不错,有用就好! 🤗🤗

    2. 正义侠士 正义侠士

      注意你的名字,要虚心学习

  2. 很清晰
    受用 感谢

    1. 不客气,有用就好!

  3. Sasa Sasa

    我的php版本是5.6的,没有找到fpm 里面的ini文件。请问怎么弄?

    1. 不好意思,这个我也不太清楚

添加新评论