我在我的Ubuntu Server 14.04 LTS上运行Mediawiki 1.26.2,并将其配置为使用LDAP作为后端。当前安装是由旧版本的备份构成的,该旧版本在没有LDAP后端的旧版OpenSuse上运行。对于我的所有用户来说,一切正常 - 只有一个人在尝试登录时遇到问题。出现错误消息:
Interner Fehler
[2f7bcd76] /mediawiki/index.php?title=Spezial:Anmelden&action=submitlogin&type=login&returnto=Hauptseite MWException from line 3701 of /var/www/html/wikiHHG/includes/User.php: CAS update failed on user_touched for user ID '73' (read from slave); the version of the user to be saved is older than the current version.
Backtrace:
#0 /var/www/html/mediawiki/extensions/LdapAuthentication/LdapAuthentication.php(1244): User->saveSettings()
#1 /var/www/html/mediawiki/includes/specials/SpecialUserlogin.php(830): LdapAuthenticationPlugin->updateUser(User)
#2 /var/www/html/mediawiki/includes/specials/SpecialUserlogin.php(958): LoginForm->authenticateUserData()
#3 /var/www/html/mediawiki/includes/specials/SpecialUserlogin.php(341): LoginForm->processLogin()
#4 /var/www/html/mediawiki/includes/specialpage/SpecialPage.php(384): LoginForm->execute(NULL)
#5 /var/www/html/mediawiki/includes/specialpage/SpecialPageFactory.php(553): SpecialPage->run(NULL)
#6 /var/www/html/mediawiki/includes/MediaWiki.php(281): SpecialPageFactory::executePath(Title, RequestContext)
#7 /var/www/html/mediawiki/includes/MediaWiki.php(714): MediaWiki->performRequest()
#8 /var/www/html/mediawiki/includes/MediaWiki.php(508): MediaWiki->main()
#9 /var/www/html/mediawiki/index.php(41): MediaWiki->run()
#10 {main}
有没有办法重写用户的信息(似乎是日期问题),以便他可以再次登录?
谢谢Scroom
答案 0 :(得分:1)
我找到了解决方案。在wiki-db(MySQL)的用户表中,对于登录不起作用的用户,没有user_touched条目。所以我通过以下方式设置了一个随机日期:
mysql> UPDATE user SET user_touched = '20160409104704' WHERE user_name = 'Username';
并且此用户的登录按预期工作!