0
我为我的http服务器(apache)设置了一个自定义注册页面,该页面托管许多服务,包括一个wiki。 预期的目标是让用户立即注册所有这些服务,包括wiki当然。Mediawiki从自定义注册页面添加用户
对于wiki,我尝试重新排列“CreateAndPromote”维护脚本并将其放入我的页面。现在我来到了这个片段
$path = "/wiki";
putenv("MW_INSTALL_PATH={$path}");
require_once ("/wiki/includes/WebStart.php");
chdir("wiki");
$mediaWiki = new MediaWiki();
$name = $_POST['username'];
$pass = $_POST['password'];
$user = User::newFromName($name);
if (!is_object($user)) {
\t die("Invalid user!\n");
}
$exists = (0 !== $user->idForName());
if (!$exists) {
$user->addToDatabase();
} \t
\t \t
try {
\t $user->setPassword($pass);
\t
} catch (PasswordError $pwe) {
\t die("password error:" . $pwe->getText()."");
}
$user->addGroup("editor");
$user->saveSettings();
$ssu = new SiteStatsUpdate(0, 0, 0, 0, 1);
$ssu->doUpdate();
,但我得到
Error: LightnCandy class not defined
链接到MediaWiki 1.25.2 PHP 5.6.12(apache2handler)
做到这一点,更简单的方法是使用的API:https://www.mediawiki.org/wiki/API:Account_creation – leo
感谢您指点我的apis,但在像我的情况下,mediawiki本身建议使用WebStart.php来直接调用MediaWiki类和函数https://www.mediawiki.org/wiki/API :Client_code#PHP –
类未定义错误的解决方案通常运行Composer。 – Tgr