【问题标题】:MediaWiki Scribunto Lua error: Internal error: The interpreter exited with status 2MediaWiki Scribunto Lua 错误:内部错误:解释器以状态 2 退出
【发布时间】:2015-06-15 19:40:49
【问题描述】:

我在我的本地开发机器上完成了 MediaWiki 1.24.2 的全新安装。

我已经安装了 Scribunto,并在扩展列表中检查了它是否正确安装。

我在尝试创建信息框时遇到错误。错误是:

Lua 错误:内部错误:解释器以状态 2 退出

这些是我已采取以下步骤来尝试解决此问题的步骤。

我去过 Mediawiki Scribunto 页面

我已将这些行添加到我的 LocalSettings.php 文件中:

$wgScribuntoEngineConf['luastandalone']['memoryLimit'] = 209715200; # bytes
$wgMaxShellMemory = 204800; # in KB

这并没有解决问题。我对如何打开错误日志感到困惑。帮助页面只是说:

为 $wgScribuntoEngineConf['luastandalone']['errorFile'] 分配文件路径并检查该输出对于诊断内存分配错误非常有用。

如何分配文件路径? - 解决了感谢您的帮助。

我附上了我的 php.ini 文件和我的 LocalSettings.php 文件的 [链接][2](压缩在一起)

更新 - 我现在设法添加了一个日志文件,日志文件中的错误是:

/var/www/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_32_generic/lua:语法错误:“(”意外

更新两次

这些是我复制错误所采取的完整步骤:

首先检查任何可用的软件包更新并安装它们

sudo apt-get update
sudo apt-get upgrade

现在安装 Apache、PHP 和 MySQL

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 身份登录

mysql -u root -p

我们在这里添加 database=mediawikidb user=mediawikiuser 和 password=mediawikipassword:

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

cd /var/www
sudo chown pi: .
sudo rm *

现在我们可以下载MediaWiki,解压并复制到/var/www

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/

现在我们可以重启相关服务了

sudo service apache2 restart
sudo service mysql restart

现在打开浏览器并转到 localhost 并开始安装

要完成安装,请将 LocalSettings.php 复制到 /var/www/mediawiki

现在安装 Scribunto

http://www.mediawiki.org/wiki/Special:ExtensionDistributor/Scribunto下载

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';

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

正确导入所有内容后,转到主页并在页面顶部输入:

{{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
}}

非常感谢

【问题讨论】:

  • status 2 表示内存分配错误,因此请尝试提高 Lua 和 PHP 的可用内存。我也将此标记为 OT,因为它不是编程问题
  • 嗨。我认为OT是题外话?我会认为关于错误记录的部分问题是可以的?你能建议我在哪里记录我的问题吗?最美好的祝愿
  • 我会尝试MediaWiki mailing lists 之一,或者可能在ServerFault 询问。顺便说一句,$wgScribuntoEngineConf['luastandalone']['errorFile'] 只是日志文件的名称。你可以使用任何东西,例如$wgScribuntoEngineConf['luastandalone']['errorFile'] = /var/log/luaerror.log
  • 请注意,您需要在日志路径周围加上引号,并在行尾使用分号。日志告诉我:/var/www/extensions/Scribunto/engines/LuaStandalone/binaries/lua5_1_5_linux_32_generic/lua:语法错误:“(”意外
  • 我在这里提出了一个错误phabricator.wikimedia.org/T95716

标签: lua mediawiki scribunto


【解决方案1】:

终于修好了。我做到了:

sudo apt-get install lua

然后将以下内容添加到我的 LocalSettings.php 中

$wgScribuntoEngineConf['luastandalone']['luaPath'] = '/usr/bin/lua5.1';

我认为 Scribunto 中包含的 lua 二进制文件不适用于 Raspberry Pi?

【讨论】:

  • 这个回复有点晚了,但是你说的很对。 Scribunto 仅为 Windows 32/64 位 x86、Linux 32/64 位 x86 和 Mac OSX x86 构建 its Lua binaries。由于 Raspberry Pi 使用 ARM 处理器,因此这些二进制文件都不起作用。
猜你喜欢
  • 1970-01-01
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多