为什么MediaWiki 1.22.0在LocalSettings.php中为路径使用反斜杠?

时间:2014-01-01 06:40:53

标签: php mediawiki mediawiki-extensions

我第一次在我的本地主机(WAMP服务器,Windows 7)上安装了MediaWiki,并且在安装成功后获得有关我在安装期间首次加载index.php时所启用的扩展的PHP错误消息时感到惊讶。 / p>

下面是1)产生的错误信息,2)我看到的问题,3)问题的解决方案,最后4)我的问题在上下文中重复跟随其他后续问题。

1)错误消息:

( ! ) Warning: require_once(C:\wamp\www\wikitest\wxtensions\ConfirmEdit\ConfirmEdit.php): failed to open stream: Invalid argument in C:\wamp\www\wikitest\w\LocalSettings.php on line 128
Call Stack
#   Time    Memory  Function    Location
1   0.0017  251048  {main}( )   ..\index.php:0
2   0.0033  274688  require( 'C:\wamp\www\wikitest\w\includes\WebStart.php' )   ..\index.php:46
3   0.0446  1472088 require_once( 'C:\wamp\www\wikitest\w\LocalSettings.php' )  ..\WebStart.php:136

( ! ) Fatal error: require_once(): Failed opening required 'C:\wamp\www\wikitest\wxtensions\ConfirmEdit\ConfirmEdit.php' (include_path='.;C:\php\pear') in C:\wamp\www\wikitest\w\LocalSettings.php on line 128
Call Stack
#   Time    Memory  Function    Location
1   0.0017  251048  {main}( )   ..\index.php:0
2   0.0033  274688  require( 'C:\wamp\www\wikitest\w\includes\WebStart.php' )   ..\index.php:46
3   0.0446  1472088 require_once( 'C:\wamp\www\wikitest\w\LocalSettings.php' )  ..\WebStart.php:136

2)我看到的问题

在LocalSettings.php的第128行(MediaWiki安装程序生成的文件)中,启用的扩展(安装期间的可选选项)包含在路径中的反斜杠'\'而不是预期的[forward]斜杠'/'用于已安装的PHP文件中的所有其他路径。

require_once "$IP\extensions\ConfirmEdit\ConfirmEdit.php";
require_once "$IP\extensions\WikiEditor\WikiEditor.php";

3)解决问题的方法

我发现用[forward]斜杠替换反斜杠解决了错误并允许index.php页面按预期加载。

require_once "$IP/extensions/ConfirmEdit/ConfirmEdit.php";
require_once "$IP/extensions/WikiEditor/WikiEditor.php";

4)为什么首先反斜杠?

为什么MediaWiki安装程序仅在此实例中使用路径中的反斜杠?

还有其他人看过这个问题吗?

我可以做些什么来阻止它在将来的安装中发生(为了避免每次都必须手动更改路径)?

1 个答案:

答案 0 :(得分:1)

这是Mediawiki 1.22.0中的一个错误,已在1.22.1中修复。正如PleaseStand所提到的,here is the bug report