Discuz!無法連接阿里雲RDS數據庫代理問題的處理方案

很多站長在使用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)) {

修改完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章