不懂先生

Typecho上传附件失败解决方法
序言  自己的博客自从换了个主题后就出现了上传附件总是失败的毛病,然后掉入坑中,最近又查阅了一...
扫描右侧二维码阅读全文
07
2021/08

Typecho上传附件失败解决方法

序言

  自己的博客自从换了个主题后就出现了上传附件总是失败的毛病,然后掉入坑中,最近又查阅了一些文献,终于解决了这个问题。

正文

查找原因

  经过仔细查找发现是isAppEngine()这个函数的问题,然后在/var/Typecho/Common.php找到这个函数,他是这样定义的:

 public static function isAppEngine()
    {
        return !empty($_SERVER['HTTP_APPNAME'])                     // SAE
            || !!getenv('HTTP_BAE_ENV_APPID')                       // BAE
            || !!getenv('SERVER_SOFTWARE')                          // BAE 3.0
            || (ini_get('acl.app_id') && class_exists('Alibaba'))   // ACE
            || (isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) // GAE
            ;
    }

  也就是说如果当前的服务器环境不是SAE、BAE、ACE及非国内常见虚拟主机,如过是则不让上传附件,修改方法就是把这个函数内容改为:

public static function isAppEngine()
    {
        return false;
    }

然后重启服务器。

后续

  还不行的话,则需要找到根目录下的usr/uploads(我的文件夹不见了所以也是导致出现上传失败的原因,所以我手动创建了一个uploads文件夹)把这个文件的权限改为777,并重启服务器

附页

  如果嫌弃上传附加大小太小的话可以找到PHP.ini文件,修改一下为三项:

upload_max_filesize = 1000M;
post_max_size = 1000M;
max_execution_time=600;

这样最大上传附件大小就为1000M了

Last modification:January 18th, 2022 at 04:29 pm

Leave a Comment