我背後Practical Plants的主要開發者。我們使用InstantCommons從公共圖像中獲取圖像,但它似乎無法在本地進行緩存,從而導致頁面加載速度變慢並給Commons帶來不必要的負擔。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
路徑輸出被我加入到嘗試理解這個問題了一點,讓線300-305在我ForeignAPIRepo.php文件看起來像這樣
$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用戶具有組權限),因此它們一定是可寫的。此外,本地上傳的圖像工作正常。
如果我能提供任何詳細資訊,請讓我知道!
我*真的*懷疑它會幫助,但您可以嘗試獲取已安裝的PEAR_Error的副本,以查看是否報告了任何有趣的事情... – Charles