Typecho上传附件失败最佳解决方法

白衣少年
2022-10-26 / 0 评论 / 59 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年11月02日,已超过533天没有更新,若内容或图片失效,请留言反馈。
1. 打开/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.继续下面的工作:找到usr/uploads这个文件夹,修改777权限,linux和Windows系统修改的方法不同,但网上都有很多介绍:Windows下网站目录777可读写权限设置方法 然后重启服务器,上传附件成功。

3.但是又遇到了问题,上传一个图片之后,加入文章里面发现根本打不开这个图片,单独在浏览器输入这个图片的URL,显示:
401 - Unauthorized: Access is denied due to invalid credentials.

You do not have permission to view this directory or page using the credentials that you supplied.

继续工作,打开IIS服务器,找到网站下面的uploads目录,点击选择权限,继续进行上面修改777的操作,修改之后重启服务器,完美解决!
权限.png

博主的发现

我发现还是有个问题,就是每个图片上传之后,还是不能直接打开,需要到IIS上单独对文件修改权限,才能访问,有解决的还请指导一下!
感谢typecho交流群里的建议,给uploads开放everyone全部权限!试了一下,文件可以继承文件夹的权限了,但是每次还需要刷新everyone才可以,有解决办法欢迎指教!

另外默认的上传附件大小为2M,修改的话,可以打开PHP里面的php.ini这个文件,修改以下三项

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

保存之后,最大可上传附件就设置为1000M了。

7

打赏

评论 (0)

OwO
取消