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

1. 龰龬龩龧龤龡, 龝龜龛龘龖龧龓龑龍, 龌龊 reset-password.php

use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;

// Boot Drupal.
$autoloader = require __DIR__ . '/autoload.php';

$request = Request::createFromGlobals();
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod', FALSE);
$kernel->boot();

// Get password hasher service.
$password_hasher = $kernel->getContainer()->get('password');

// Hash password.
if (isset($_GET['pass']) && !empty($_GET['pass'])) {
 $newhash =  $password_hasher->hash($_GET['pass']);
}
else {
  die('请加 "?pass=PASSWORD" 到 URL 的尾部, PASSWORD 是你想写入的密码');
}

// Update user password.
$updatepass = Drupal::database()->update('users_field_data')
  ->fields(array(
    'pass' => $newhash,
// 如果忘记了管理员的用户名, 请更改下2句的设定值
//  'name' => 'admin',
//  'mail' => 'yourmail@example.com'
  ))
  ->condition('uid', '1', '=')
  ->execute();

// Clean user 1 cache.
Drupal::cache('entity')->delete('values:user:1');

print "管理员密码已更新, 请拆除本档案及回到 Drupal 8 后台更换密码.";copy

2. 龰龓龑麘麖龜 Drupal 8 龧麓麑麏龬

3. 麇麄麂鹿鹼鹻鹺黪鹷鹴龧龓龑, 龌龊 : http://黪龧鹳鹲/reset-password.php?pass= 黪龧龖黟龡

4. 黎龖黟龡麤龜 Drupal 8 麟麜鹫黉麛黟龡麨麭麬麩龓龑 (鹪鹧)


鹦鹢麩鹡鹟鹞 鹜鹛-鹘 鹕鹓鹑

评论 (写第一个评论)