2

我是Practical Plants的主要开发者。我们正在使用 InstantCommons 从共享资源中获取图像,但它们似乎无法在本地缓存,从而导致页面加载缓慢并给共享资源带来不必要的负担。

我已经设置$wgUseInstantCommons=true了,它可以很好地下载图像,但不会缓存它们。我在我的 debug.log 中得到了这个:

ForeignAPIRepo: HTTP GET: http://commons.wikimedia.org/w/api.php?titles=File%3ABrassica_oleracea0.jpg&iiprop=timestamp%7Cuser%7Ccomment%7Curl%7Csize%7Csha1%7Cmetadata%7Cmime&prop=imageinfo&iimetadataversion=2&format=json&action=query&redirects=true
Class PEAR_Error not found; skipped loading
ForeignAPIRepo: HTTP GET: http://commons.wikimedia.org/w/api.php?titles=File%3ABrassica_oleracea0.jpg&iiprop=url%7Ctimestamp&iiurlwidth=248&iiurlheight=-1&iiurlparam=248px&prop=imageinfo&format=json&action=query&redirects=true
ForeignAPIRepo::getThumbUrl got remote thumb http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Brassica_oleracea0.jpg/248px-Brassica_oleracea0.jpg
ForeignAPIRepo: HTTP GET: http://commons.wikimedia.org/w/api.php?titles=mwstore%3A%2F%2Fwikimediacommons-backend%2Fwikimediacommons-thumb%2F1%2F11%2FBrassica_oleracea0.jpg%2F248px-Brassica_oleracea0.jpg&prop=imageinfo&format=json&action=query&redirects=true
ForeignAPIRepo::getThumbUrlFromCache Thumbnail was already downloaded before
ForeignAPIRepo: HTTP GET: http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Brassica_oleracea0.jpg/248px-Brassica_oleracea0.jpg
ForeignAPIRepo::getThumbUrlFromCache could not write to thumb path: mwstore://wikimediacommons-backend/wikimediacommons-thumb/1/11/Brassica_oleracea0.jpg/248px-Brassica_oleracea0.jpg

请注意,错误中的路径输出ForeignAPIRepo:getThumbUrlFromCache是我添加的,以尝试稍微了解问题,因此我的 ForeignAPIRepo.php 文件中的第 300-305 行如下所示

$op = array( 'op' => 'create', 'dst' => $localFilename, 'content' => $thumb );
if( !$backend->doOperation( $op )->isOK() ) {
    wfRestoreWarnings();
    wfDebug( __METHOD__ . " could not write to thumb path: ".$localFilename."\n" );
    return $foreignUrl;
}

任何人都知道这里可能发生了什么?我的 ./images 目录和所有子目录都是 775(apache 用户具有组权限),因此它们绝对是可写的。此外,本地上传的图像工作正常。

如果我可以提供更多信息,请告诉我!

4

2 回答 2

1

升级到 1.20.2 已经解决了这个问题,所以我假设这只是我使用的 MediaWiki 版本(1.19.X)的一个错误。

于 2012-12-21T13:04:27.237 回答
0

请注意,从 MediaWiki 1.27 开始,InstantCommons将热链接缩略图而不是在本地生成它们。这将大大减少头痛。该配置也可用于旧版本。

于 2015-11-07T09:29:14.110 回答