4.2 使用单一 PHP 档案重置 Drupal 7 的管理员密码

1. 把下面的代码, 贴到一个新的档案内, 例如 reset-password.php

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once DRUPAL_ROOT . '/includes/password.inc';
if (isset($_GET['pass']) && !empty($_GET['pass'])) {
  $newhash =  user_hash_password($_GET['pass']);
}
else {
  die('请加 "?pass=PASSWORD" 到 URL 的尾部, PASSWORD 是你想写入的密码');
}

$updatepass = db_update('users') 
  ->fields(array(
    'pass' => $newhash,
// 如果忘记了管理员的用户名, 请更改下2句的设定值
//    'name' => 'admin',
//  'mail' => 'yourmail@example.com'
  ))
  ->condition('uid', '1', '=')
  ->execute();
print "管理员密码已更新, 请拆除本档案及回到 Drupal 7 后台更换密码.";
drupal_exit();

 

2. 把档案复制到 Drupal 7 的主目录下

3. 打开浏览器访问你刚才的档案, 例如 : http://你的网址/reset-password.php?pass=你的新密码

4. 用新密码回到 Drupal 7 后台再更换密码及拆除本档案 (重要)

注:本教程由 虎门-华 提供。

评论 (写第一个评论)