很多站长在使用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
找到
$link = @mysql_pconnect($dbhost, $dbuser, $dbpw, MYSQL_CLIENT_COMPRESS);
$link = @mysql_connect($dbhost, $dbuser, $dbpw, 1, MYSQL_CLIENT_COMPRESS);
修改成
$link = @mysql_pconnect($dbhost, $dbuser, $dbpw);
$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)) {
修改完成。
历史资源提醒--必看
该页面资源/教程来自原魔趣吧历史资源转移,因发布历史久远,部分资源/教程可能已失效或无法在最新版程序中安装使用!DZ资源建议在Discuz3.4及以下版本使用,PHP版本建议5.6。资源仅提供做代码研究学习使用!
因改版,部分贴内链接将无法正常跳转,如链接失效或未正常跳转,请利用站内搜索功能搜索资源名称获取对应资源!