I used this in Mediawiki 1.7, and it worked for me:
<?php
$domain = 'example.com';
$mwpath = '/docs/www-wiki';
if ($argc < 3) {
die("Missing arguments.\n"
."Usage: $0 USER PASSWORD\n");
}
$user = $argv[1];
$pass = $argv[2];
print "Add user $user with password $pass [y/N]?\n";
$ans = fgets(STDIN,256);
if (! preg_match('/^[yY]/', $ans) ) {
print "Canceled.\n";
exit;
}
$user = ucfirst(strtolower($user));
$path = $mwpath;
putenv("MW_INSTALL_PATH={$path}");
define( 'MEDIAWIKI', true );
require_once( './includes/Defines.php' );
require_once( './LocalSettings.php' );
require_once( 'includes/Setup.php' );
require_once( "includes/Wiki.php" );
$mediaWiki = new MediaWiki();
$mwuser=User::newFromName($user);
if (! is_object($mwuser)) {
die("Invalid user!\n");
}
$mwuser->addToDatabase();
$mwuser->setPassword( $pass );
$mwuser->setEmail( strtolower($user) . '@' . $domain );
$mwuser->confirmEmail();
$mwuser->saveSettings();
$ssUpdate = new SiteStatsUpdate( 0, 0, 0, 0, 1 );
$ssUpdate->doUpdate();
?>
, WebStart.php script, Mediawiki.