当您使用云虚拟主机搭建Discuz!论坛并修改了数据库密码后,可能因为您仅在主机的控制台修改了数据库密码,而没有同步修改网站程序配置文件中的数据库密码,导致无法正常访问Discuz!论坛。本文介绍这种情况的解决方案。
问题现象
当您使用云虚拟主机搭建Discuz!论坛并修改了数据库密码后,访问该论坛时显示Discuz!Database Error报错信息,具体详情如下。
Discuz! Database Error
(1045) notconnect
PHP Debug
No. File Line Code
1 forum.php 56 discuz_application->init()
2 source/class/discuz/discuz_application.php 65 discuz_application->_init_db()
3 source/class/discuz/discuz_application.php 399 discuz_database::init(%s, Array)
4 source/class/discuz/discuz_database.php 23 db_driver_mysql->connect()
5 source/class/db/db_driver_mysql.php 75 db_driver_mysql->_dbconnect(%s, %s, %s, %s, %s, %s)
6 source/class/db/db_driver_mysql.php 88 db_driver_mysql->halt(%s, %d)
7 source/class/db/db_driver_mysql.php 224 break()
可能原因
修改数据库网站时,您仅在主机管理控制台修改该密码,却没有同步修改网站程序配置文件中的数据库密码。
解决方案
-
下载网站程序配置文件(
config_global.php)至本地主机。从云虚拟主机的站点目录
/htdocs/config下载网站配置文件(config_global.php)到本地,具体操作,请参见上传或下载网站程序文件。 -
修改配置文件(
config_global.php)中的数据库字符串信息。-
使用文本编辑器(例如EditPlus)打开配置文件(
config_global.php)。 -
修改配置文件中的数据库字符串信息。
将配置文件中当前
云虚拟主机数据库密码替换为您主机管理控制台修改后的数据库密码即可,配置文件代码示例如下所示:// ---------------------------- CONFIG DB ----------------------------- // $_config['db']['1']['dbhost'] = '云虚拟主机数据库地址'; $_config['db']['1']['dbuser'] = '云虚拟主机数据库账号'; $_config['db']['1']['dbpw'] = '云虚拟主机数据库密码'; $_config['db']['1']['dbcharset'] = 'utf8'; $_config['db']['1']['pconnect'] = '0'; $_config['db']['1']['dbname'] = '云虚拟主机数据库名'; $_config['db']['1']['tablepre'] = 'pretest_'; $_config['db']['slave'] = ''; $_config['db']['common']['slave_except_table'] = ''; -
保存并退出文本编辑器。
-
-
将修改后的网站程序配置文件(
config_global.php)上传至云虚拟主机。通过FTP客户端将修改后的配置文件(
config_global.php)上传到云虚拟主机的/htdocs/config目录下,具体操作,请参见上传或下载网站程序文件。 -
再次访问Discuz!论坛。
如果问题仍未解决,请提交工单获取帮助。
该文章对您有帮助吗?