我是Practical Plants的主要开发人员。我们正在使用InstantCommons从commons获取图像,但似乎它们无法在本地缓存,使页面加载缓慢,并给commons带来不必要的负担。
我设置了$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用户有组权限),所以它们肯定是可写的。此外,本地上传的图像工作良好。
如果我能提供更多的信息,请告诉我!
升级到1.20.2已经修复了这个问题,所以我认为这只是我使用的MediaWiki版本(1.19.X)的错误。
注意,从MediaWiki 1.27开始,InstantCommons将热链接缩略图,而不是在本地生成缩略图。这将大大减少头痛。该配置也可以用于旧版本。