私はPracticalPlantsの背後にある主な開発者です。コモンズから画像を取得するために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ユーザーはグループ権限を持っています)なので、間違いなく書き込み可能です。さらに、ローカルにアップロードされた画像は正常に機能します。
これ以上の情報があれば教えてください!