阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image.

今天又遇到怪事情了。昨天我把一个wordpress网站的图片配置到阿里云oss上面,使用自己的图床。让博客访问起来更加流畅,毕竟我那台ecs才1M的小带宽。然而,毛病出现了。wordpress的缩略图不显示了。这个网站主题使用的timthumb外链方式,内容页都能正常显示,但列表页缩略图是个破图。

右键复制图片地址打开,显示错误信息如下:
阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image._图片 No.1

A TimThumb error has occuredA TimThumb error has occured The following error(s) occured:
· An error occured fetching image.

为探究是不是主题程序的问题,我换到另外一个wordpress网站,同样显示这样的错误。大家注意看一下timthumb的版本都不一样,但同样出错。说明问题不在主题上。

阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image._图片 No.2

搜索了一下网络上的方法,我确信我下面这几步措施都是做到位了:

1、在wordpress主题目录下,找到cache文件夹,权限设置为777。

2、在timthumb-config.php文件里,将外链图片的域名添加到$ALLOWED_SITES = array 函数里。
阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image._图片 No.3

3、在阿里云oss后台,防盗链设置里,将网站域名设置为白名单:
阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image._图片 No.4

这一套流程走完了,依然没有用。

那要怎么办呢?难道用oss做图床就彻底失败在这上面了?

最终找到了解决方法:

在timthumb.php文件里,搜索:

define ('VERSION', '2.8.13');

根据情况不一样,搜索前面几个词就可以了,找到这条代码其实就在第一行。
在它上面添加一行代码:

$_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__);

阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image._图片 No.5
这样问题就解决了。至于为什么要这么做,就不得而知了。

时隔一天之后,我更新一下内容:

其实上面的添加代码的方法,并不能解决问题,而且出现更多的问题。那就是本地图片生成的缩略图都不显示了。为了搞清这个原因。我直接发工单联系了阿里云售后工程师。

工程师开始就乱来,让我使用阿里云的缩略图生成方法。这不是本末倒置吗?我让你解决这个问题,你让我换文案。

今天,我把我的折腾过程告诉给了他。他问我要了测试缩略图,我一同给他发了两个缩略图地址。一是阿里云oss的,一个是微博图床。

阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image._图片 No.6

他在研究之后,告诉我,src参数需要encodeURIComponent,变成下面这种方式:
https://www.qiaohu8.com/wp-content/themes/erban/timthumb.php?src=https%3A%2F%2Ftc.xmanyao.com%2Fqiaohu8%2Fjianbihua%2Frw%2Fea8858f66ec8a59.jpg&w=75&h=45&zc=1&q=100&ct=1

红色部分需要转码。这果然就是阿里云oss本身的问题嘛。

阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image._图片 No.7

工程师回复我说,会提交给oss的部门,会评估后续会不会支持。

我真服了。这种最基础的东西都做不到。我其实在之前就怼过他,我觉得一针见血:

我就想知道为什么直接的原图不能,又没有设置原图保护。改参数改代码复杂我又不会弄。这不是把问题复杂化了。OSS是不是有什么特殊的设定?其他的公共图床都没有问题,都能生成缩略图。OSS还要收费,还搞得这样复杂,客户为什么还要用?
你给我解释一下,这到底是什么机制造成的?如果是网站程序有问题,但别的为什么又可以。我想知道这个原因。

阿里云oss作为图床外链,wordpress缩略图不显示,提示:An error occured fetching image._图片 No.8

你付费的东西,还不如免费的好用。我为什么还要用你?

声明:本文为原创,作者为 代码小白,转载时请保留本声明及附带文章链接:https://www.zixuekong.com/426.html