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平台