MediaWiki配置Scribunto插件

MediaWiki配置Scribunto涉及到Lua配置,原本MediaWiki官方的包是有Lua的,但是配置有几个坑这里分享下个人的解决方案

首先是LocalSettings.php中加入以下内容:

$wgScribuntoDefaultEngine= 'luastandalone' ;
$wgScribuntoEngineConf['luastandalone']['luaPath'] = null;

如果希望看到错误信息可以加入:

$wgScribuntoEngineConf['luastandalone']['errorFile'] = '/022/error.log';

 '/022/error.log' 是错误日志存储路径,由于我的wiki是放在D盘的, '/022/error.log' 等价于 'D:/022/error.log' 路径不一定得跟我一样,可以自定义

然后是找到插件目录的LuaStandaloneInterpreter.php,路径在extensions\Scribunto\includes\Engines\LuaStandalone

找到下面的内容:

if ( php_uname( 's' ) == 'Windows NT' ) {
	// Like the passthru() in older versions of PHP,
	// PHP's invokation of cmd.exe in proc_open() is broken:
	// http://news.php.net/php.internals/21796
	// Unlike passthru(), it is not fixed in any PHP version,
	// so we use the fix similar to one in wfShellExec()
	$cmd = '"' . $cmd . '"';			
}

 将 $cmd = '"' . $cmd . '"'; 注释掉,保存文件

if ( php_uname( 's' ) == 'Windows NT' ) {
	// Like the passthru() in older versions of PHP,
	// PHP's invokation of cmd.exe in proc_open() is broken:
	// http://news.php.net/php.internals/21796
	// Unlike passthru(), it is not fixed in any PHP version,
	// so we use the fix similar to one in wfShellExec()
	//$cmd = '"' . $cmd . '"';			
}

至此,Scribunto应该就可以正常运行了,随便开一个模块页面测试Lua代码看是否可以正常运行了。

以上方法适用于MediaWiki 1.41 Win平台

posted @ 2024-10-21 10:19  InfinityEx  阅读(13)  评论(0编辑  收藏  举报