【发布时间】: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