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