我的同事更改了 Drupal 站点的 cPanel 密码。前端现在显示以下错误。
错误
网站遇到意外错误。请稍后再试。错误消息 PDOException: SQLSTATE[HY000] [1045] 在 lock_may_be_available() (/home/xx/public_html/includes/lock.inc 的第 167 行)中用户 'xx'@'localhost' 的访问被拒绝(使用密码:YES)。
如何修复此错误?
我的同事更改了 Drupal 站点的 cPanel 密码。前端现在显示以下错误。
错误
网站遇到意外错误。请稍后再试。错误消息 PDOException: SQLSTATE[HY000] [1045] 在 lock_may_be_available() (/home/xx/public_html/includes/lock.inc 的第 167 行)中用户 'xx'@'localhost' 的访问被拒绝(使用密码:YES)。
如何修复此错误?
如果仅更改了密码,并且您收到了该错误,则意味着访问 Drupal 知道的数据库的密码也需要更改。默认情况下,它存储在 sites/default/settings.php 文件中。在该文件中查找类似于以下内容的代码。
$databases['default']['default'] = array(
'database' => 'databasename',
'username' => 'sqlusername',
'password' => 'sqlpassword',
'host' => 'localhost',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
'collation' => 'utf8mb4_general_ci',
);
最重要的部分是前三行,特别是password =>之后的内容,它应该是实际密码。(databasename、sqlusername和sqlpassword是实际值的占位符。)
由于 Drupal 可以使用不同的 settings.php 文件,因此请检查站点目录中没有其他具有该文件名的文件。例如,如果 Drupal 安装在https://www.drupal.org:8080/mysite/test/上,则在以下目录中搜索 settings.php 文件。
然后,sites/sites.php 文件的内容可以更改使用哪个 settings.php 文件。例如,对于以下 sites.php 文件,sites/example.com/settings.php 文件用于域 example.org、example.it 和 example.com。
$sites['example.org'] = 'example.com';
$sites['example.it'] = 'example.com';
$sites['example.com'] = 'example.com';