设置wiki时发生mediawiki DBLoadBalancer错误

设置wiki时发生mediawiki DBLoadBalancer错误,mediawiki,Mediawiki,我刚刚在ArchLinux上安装了MediaWiki 1.28,其中包含nginx 1.10.3、PHP7.1.1、PHPfpm和sqlite 3.16.2。我遵循了arch wiki指南:。我已经安装了所需的PHP扩展,PHP、sqlite和nginx似乎都能自己正常运行 现在,当我尝试设置MediaWiki安装的LocalSettings.php部分时,我在浏览器中转到0.0.0.0/MediaWiki,单击设置并获得下面的错误。也许这是必须启用的sqlite设置 [1449c8c65e65

我刚刚在ArchLinux上安装了MediaWiki 1.28,其中包含nginx 1.10.3、PHP7.1.1、PHPfpm和sqlite 3.16.2。我遵循了arch wiki指南:。我已经安装了所需的PHP扩展,PHP、sqlite和nginx似乎都能自己正常运行

现在,当我尝试设置MediaWiki安装的LocalSettings.php部分时,我在浏览器中转到0.0.0.0/MediaWiki,单击设置并获得下面的错误。也许这是必须启用的sqlite设置

[1449c8c65e65734059748f4e] /mw-config/index.php MediaWiki\Services\ServiceDisabledException from line 340 of /usr/share/webapps/mediawiki/includes/services/ServiceContainer.php: Service disabled: DBLoadBalancer

Backtrace:

#0 /usr/share/webapps/mediawiki/includes/MediaWikiServices.php(509): MediaWiki\Services\ServiceContainer->getService(string)
#1 /usr/share/webapps/mediawiki/includes/GlobalFunctions.php(3089): MediaWiki\MediaWikiServices->getDBLoadBalancer()
#2 /usr/share/webapps/mediawiki/includes/GlobalFunctions.php(3075): wfGetLB(boolean)
#3 /usr/share/webapps/mediawiki/includes/cache/LinkCache.php(267): wfGetDB(integer)
#4 /usr/share/webapps/mediawiki/includes/Title.php(3184): LinkCache->addLinkObj(Title)
#5 /usr/share/webapps/mediawiki/includes/Title.php(934): Title->getArticleID(integer)
#6 /usr/share/webapps/mediawiki/includes/content/ContentHandler.php(282): Title->getContentModel()
#7 /usr/share/webapps/mediawiki/includes/Title.php(4684): ContentHandler::getForTitle(Title)
#8 /usr/share/webapps/mediawiki/includes/parser/Parser.php(867): Title->getPageLanguage()
#9 /usr/share/webapps/mediawiki/includes/parser/Parser.php(2110): Parser->getTargetLanguage()
#10 /usr/share/webapps/mediawiki/includes/parser/Parser.php(2075): Parser->replaceInternalLinks2(string)
#11 /usr/share/webapps/mediawiki/includes/parser/Parser.php(1290): Parser->replaceInternalLinks(string)
#12 /usr/share/webapps/mediawiki/includes/parser/Parser.php(441): Parser->internalParse(string)
#13 /usr/share/webapps/mediawiki/includes/installer/Installer.php(675): Parser->parse(string, Title, ParserOptions, boolean)
#14 /usr/share/webapps/mediawiki/includes/installer/WebInstaller.php(681): Installer->parse(string, boolean)
#15 /usr/share/webapps/mediawiki/includes/installer/WebInstaller.php(657): WebInstaller->getInfoBox(string, string, string)
#16 /usr/share/webapps/mediawiki/includes/installer/WebInstaller.php(401): WebInstaller->getErrorBox(string)
#17 /usr/share/webapps/mediawiki/mw-config/index.php(54): WebInstaller->showError(Message, string)
#18 /usr/share/webapps/mediawiki/mw-config/index.php(38): wfInstallerMain()
#19 {main}

问题是我的
php/sessions
目录位于
/tmp
中。我将其移动到
php.ini
中的
session.save_path=“/var/lib/php/sessions”
,并重复这些步骤:

mkdir -p /var/lib/php/sessions
chown http:http /var/lib/php/sessions
chmod go-rwx /var/lib/php/sessions

不管Tgr上面说了什么,修复会话确实解决了我的问题。我使用的是ApacheITK,所以我使用的分辨率略有不同,因为每个虚拟主机都在其唯一的uid下运行

首先,我为会话创建一个单独的目录并更改所有权

mkdir /var/lib/php/sessions-wiki
chown wiki. /var/lib/php/sessions-wiki
然后在我的VirtualHosts指令中,我通过添加

php_admin_value session.save_path "/var/lib/php/sessions-wiki"
然后确保你的配置没有破坏它

apachectl configtest 
最后重新加载配置

apachectl graceful

最近我遇到了完全相同的问题,不幸的是我不记得它是如何被解决的。这肯定与缺少系统组件甚至错误的目录权限有关。下面的错误日志显示,WebInstaller在为您的请求启动PHP会话时失败,
ServiceDisabledException
只是一个额外的错误。请参阅
/index.php
第54MediaWiki 1.27+行完全不使用php会话后端。几乎可以肯定,此错误与会话设置无关。关于它。