MediaWiki Scribunto Lua error: Internal error: The interpreter exited with status 2
我已经在我的本地开发机器上完成了 MediaWiki 1.24.2 的全新安装。
我已经安装了 Scribunto,并检查了它是否正确安装在扩展列表中。
我在尝试创建信息框时遇到错误。错误是:
Lua 错误:内部错误:解释器以状态 2 退出
这些是我已采取以下步骤来尝试解决此问题的步骤。
我去过 Mediawiki Scribunto 页面
我已将这些行添加到我的 LocalSettings.php 文件中:
1 2 | $wgScribuntoEngineConf['luastandalone']['memoryLimit'] = 209715200; # bytes $wgMaxShellMemory = 204800; # in KB |
这并没有解决问题。我对如何打开错误日志感到困惑。帮助页面只是说:
将文件路径分配给 $wgScribuntoEngineConf[\\'luastandalone\\'][\\'errorFile\\'] 并检查该输出对于诊断内存分配错误很有价值。
如何分配文件路径? - 解决了感谢您的帮助。
我附上了一个 [链接][2] 到我的 php.ini 文件和我的 LocalSettings.php 文件(压缩在一起)
更新 - 我现在设法添加了一个日志文件,日志文件中的错误是:
/var/www/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_32_generic/lua:语法错误:"("意外
更新二
这些是我复制错误的完整步骤:
首先检查任何可用的软件包更新并安装它们
1 2 | sudo apt-get update sudo apt-get upgrade |
现在安装 Apache、PHP 和 MySQL
1 2 3 4 5 | sudo apt-get install apache2 -y sudo apt-get install php5 libapache2-mod-php5 -y sudo apt-get install mysql-server php5-mysql -y sudo apt-get install php-apc php5-intl imagemagick sudo apt-get install phpmyadmin |
我们可以使用以下命令检查树莓派的内部 IP 地址(记下它)
主机名-I
我们现在可以为我们的新 MediaWIki 安装创建一个数据库。首先使用您之前创建的密码以 root 身份登录
1 | mysql -u root -p |
这里我们添加 database=mediawikidb user=mediawikiuser 和 password=mediawikipassword:
1 2 3 | CREATE DATABASE mediawikidb; CREATE USER mediawikiuser@localhost IDENTIFIED BY 'mediawikipassword'; GRANT index, create, select, insert, update, delete, alter, lock tables on mediawikidb.* TO mediawikiuser@localhost; |
现在我们可以对 php.ini 进行一些更改,以便我们可以增加最大文件大小和内存限制
cd /etc/php5/apache2/
纳米 php.ini
将 \\'upload_max_filesize = 2M\\' 替换为 \\'upload_max_filesize = 64M\\'
将 \\'post_max_size = 8M\\' 替换为 \\'post_max_size = 64M\\'
保存文件
现在我们将清空 /var/www 文件夹并将其所有权更改为 pi
1 2 3 | cd /var/www sudo chown pi: . sudo rm * |
现在我们可以下载MediaWiki,解压并复制到/var/www
1 2 3 4 | mkdir /var/www/mediawiki wget http://releases.wikimedia.org/mediawiki/1.24/mediawiki-1.24.2.tar.gz tar -xvzf mediawiki-*.tar.gz sudo mv mediawiki-*/* /var/www/ |
现在我们可以重启相关服务了
1 2 | sudo service apache2 restart sudo service mysql restart |
现在打开浏览器并转到 localhost 并开始安装
要完成安装,请将 LocalSettings.php 复制到 /var/www/mediawiki
现在安装 Scribunto
从 http://www.mediawiki.org/wiki/Special:ExtensionDistributor/Scribunto 下载
1 | tar -xzf Scribunto-REL1_24-b060fbd.tar.gz -C /var/www/mediawiki/extensions |
sudo nano /etc/mediawiki/LocalSettings.php
在文件末尾添加这些行并保存
require_once "$IP/extensions/Scribunto/Scribunto.php";
$wgScribuntoDefaultEngine = \\'luastandalone\\';
$wgScribuntoEngineConf[\\'luastandalone\\'][\\'memoryLimit\\'] = 209715200; # 字节
$wgMaxShellMemory = 204800; # 以 KB 为单位
$wgScribuntoEngineConf[\\'luastandalone\\'][\\'errorFile\\'] = \\'/var/tmp/luaerror.log\\';
1 | chmod -R 777 /var/www/mediawiki/extentions/Scribunto/engines/LuaStandalone/ |
现在访问 \\'http://en.wikipedia.org/wiki/Special:Export\\' 并在大框中输入 Template:Infobox。勾选所有三个框,然后单击导出
在记事本或类似工具中打开文件,然后用 CONTENT_FORMAT_TEXT
查找并替换 text/plain
登录 MediaWiki 并转到 Special:Import
正确导入所有内容后,转到主页并在页面顶部输入:
1 2 3 4 5 6 7 8 9 10 | {{Infobox |title = test Infobox |header1 = Main Heading |header2 = First set of data |label2 = Label |data2 = Data |header3 = Remove this line (optional) |label3 = More Label |data3 = More data }} |
非常感谢
终于修好了。我做到了:
1 | sudo apt-get install lua |
然后将以下内容添加到我的 LocalSettings.php
1 | $wgScribuntoEngineConf['luastandalone']['luaPath'] = '/usr/bin/lua5.1'; |
我认为 Scribunto 中包含的 lua 二进制文件不适用于 Raspberry Pi?