Typecho上传附件、图片失败的解决办法

使用typecho上传附件时,插入远程图片是没问题的,但本地图片会报上传失败。网上找了许多方法,最后得到了解决。原文地址

解决办法:

下面会介绍两个办法,建议是两个都进行更改,才能确保万无一失。

1. Typecho会对服务器进行监测,如果不在BAE、SAE、ACE下,则不允许文件上传。事实上,可以去掉这一段监测代码。我的服务器是在腾讯云租用的云服务器。

打开/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;
}

修改为

public static function isAppEngine()
{
    return false;
}

2.做了上面一步发现还不行。

把typecho里的usr/目录权限修改为777,就可以了。注意chmod要递归。
进入博客目录

sudo chmod -R 777 usr

然后可以上传本地图片了。

Last modification:March 19th, 2018 at 01:54 pm

Leave a Comment


Notice: Constant __TYPECHO_DEBUG__ already defined in /var/www/html/index.php on line 28