2017-02-08 8 views
0

Ich habe gerade MediaWiki 1.28 auf Arch Linux mit Nginx 1.10.3, PHP 7.1.1, PHP-FPM und Sqlite 3.16.2 installiert. Ich folgte dem Arch Wiki Guide: https://wiki.archlinux.org/index.php/MediaWiki. Ich habe die erforderlichen PHP-Erweiterungen installiert und PHP, SQLite, Nginx scheinen alle auf eigene Faust gut zu laufen.MediaWiki DBLoadBalancer Fehler beim Einrichten von Wiki

Jetzt, wenn ich versuche, den Setup LocalSettings.php Teil der MediaWiki Installation zu tun, gehe ich zu 0.0.0.0/mediawiki im Browser, klicken Sie auf die Einrichtung und erhalten Sie den Fehler unten. Vielleicht ist es eine Einstellung für sqlite, die aktiviert werden muss?

[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} 
+1

Vor kurzem traf ich genau das gleiche Problem, leider kann ich mich nicht erinnern, wie genau es gelöst wurde. Es hängt definitiv mit fehlenden Systemkomponenten oder falschen Verzeichnisberechtigungen zusammen. Folgender Fehlerprotokoll scheint WebInstaller schlägt fehl, eine PHP-Sitzung für Ihre Anfrage zu starten und "ServiceDisabledException" ist nur ein zusätzlicher Fehler. Siehe Zeile '/ index.php' 54 – wakalaka

Antwort

0

Das Problem war ich in /tmp mein php/sessions Verzeichnis hatte. Ich zog es nach session.save_path = "/var/lib/php/sessions" in php.ini und wiederholt diese Schritte:

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

MediaWiki 1.27+ verwendet das PHP-Sitzungs-Backend überhaupt nicht. Dieser Fehler steht wahrscheinlich in keinem Zusammenhang mit den Sitzungseinstellungen. [Filed einen Fehler] (https://phabricator.wikimedia.org/T157890) darüber. – Tgr

0

Unabhängig davon, was Tgr oben gesagt, Festsetzung der Sitzungen beheben für mich das Problem war. Ich benutze Apache ITK, daher ist die Auflösung, die ich verwende, leicht unterschiedlich, da jeder virtuelle Host unter seiner eigenen einzigartigen UID läuft.

Zunächst erstelle ich ein eigenes Verzeichnis für die Sitzungen und den Besitzer wechseln

mkdir /var/lib/php/sessions-wiki 
chown wiki. /var/lib/php/sessions-wiki 

Da ist in meinem Virtual Direktive sagen, dass ich Apache/PHP, wo die Session-Dateien zu finden, indem das Hinzufügen

php_admin_value session.save_path "/var/lib/php/sessions-wiki" 

Dann Stellen Sie sicher, dass Ihre Konfiguration es nicht kaputt gemacht hat.

apachectl configtest 

nachladen Schließlich Config-

apachectl graceful 
Verwandte Themen