我在我的Ubuntu盒子上安装了一个MediaWiki实例,工作正常。我使用了即时公共文件,但这导致了渲染页面的巨大延迟。
因此我决定实现自己的MediaWiki Commons实例,以便存储我用于主维基的图像。这也很好。
我遇到的问题是配置" $ wgForeignFileRepos"特别是参数" apibase"。每当我上传新图像以及描述等并在我的主wiki实例上创建新文章时,我必须更改" apibase"路径。
例如,我有一个起始配置:
$wgForeignFileRepos[] = array(
'class' => 'ForeignAPIRepo',
'name' => 'privateCommons',
'apibase' => 'http://ubuntu/commonsmediawiki/api.php',
'hashLevels' => 2,
'fetchDescription' => true,
'descriptionCacheExpiry' => 432000,
'apiThumbCacheExpiry' => 864000
);
现在我添加一个包含描述的新图像到公共区域,然后使用刚刚添加的图像添加一篇新文章。但是,图像没有显示出来。
我现在必须改变" apibase"到
'apibase' => 'http://localhost/commonsmediawiki/api.php'
使图像显示。通过添加新图像和新文章重复该过程,图像不会再次显示。
我必须再次改变" apibase"任何:
'apibase' => '//localhost/commonsmediawiki/api.php'
'apibase' => '//ubuntu/commonsmediawiki/api.php'
'apibase' => 'http://ubuntu/commonsmediawiki/api.php'
通过这样做,第二篇文章显示了清除后的最新图像,但当我回到之前添加的文章时,图像再次消失。
顺便说一句,我正在运行维基百科(1.26wmf4)使用的相同版本的MediaWiki。我的Ubuntu版本是最新的(14.04)。
我还应该提到两个wiki共享图像文件夹,这应该不是问题,因为图像永远不会存储在两个wiki中。这两个wiki没有共用任何表格。
我也尝试使用" ForeignDBRepo"这根本无法说明找不到我不理解的图像。
我没有丝毫的线索如何纠正这种令人讨厌的行为。所以任何建议都会非常感激。
非常感谢
答案 0 :(得分:0)
根据您的说明,唯一有效的网址是
'apibase' => 'http://localhost/commonsmediawiki/api.php'
所以请使用它。它必须是服务器可以联系的URL。像//ubuntu/
这样的虚假域名需要一些DNS技巧,你没有提到过。
我怀疑您没有正确设置cache,因此您可以尝试禁用此功能的缓存:
'descriptionCacheExpiry' => 0,
'apiThumbCacheExpiry' => 0
让我们知道它是如何运作的。