Discuz!无法连接阿里云RDS数据库代理问题的处理方案

141 篇文章 17 订阅
21 篇文章 0 订阅

很多站长在使用RDS开启了数据库代理之后,使用数据库代理连接发现一直是无法连接的(1045 notconnect)。

经过仔细阅读阿里云数据库代理文档:https://help.aliyun.com/document_detail/138705.html?spm=a2c4g.11186623.6.781.6b331da0caXxfV

发现问题出现主要是阿里云数据库代理不支持“数据库独享代理暂不支持压缩协议”,如图:

 

而discuz数据库连接默认使用了 MYSQL_CLIENT_COMPRESS ,因此就一直无法连接,需要修改以下文件:

1、source\class\db\db_driver_mysql.php

找到

		if($pconnect) {
			$link = @mysql_pconnect($dbhost, $dbuser, $dbpw, MYSQL_CLIENT_COMPRESS);
		} else {
			$link = @mysql_connect($dbhost, $dbuser, $dbpw, 1, MYSQL_CLIENT_COMPRESS);
		}

修改成

		if($pconnect) {
			$link = @mysql_pconnect($dbhost, $dbuser, $dbpw);
		} else {
			$link = @mysql_connect($dbhost, $dbuser, $dbpw, 1);
		}

2、修改文件:source\class\db\db_driver_mysqli.php

找到

if(!$link->real_connect($dbhost, $dbuser, $dbpw, $dbname, null, null, MYSQLI_CLIENT_COMPRESS)) {

修改成

if(!$link->real_connect($dbhost, $dbuser, $dbpw, $dbname, null, null)) {

修改完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值