phpsso数据库连接失败解决方法(整合UC) 主页 > 资讯中心 > 技术知识 >

今天在处理一个站点的时候遇到了一个问题,数据库配置对了,密码也对了但是在phpsso连接uc的时候测试连接总是失败,通过不断的查找,发现了一下两个问题。
现在把解决方法发不上来供大家使用。

phpsso无法连接的问题出在了两个地方,第一个问题通过写了一个小的连接程序发现,程序就不写出来了,网上有很多,报错提示是这个:

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in path/to/the/file/where/connection/script/is/written/

是因为mysql4.1以上,不支持老的安全验证方式了,必须用SET PASSWORD = PASSWORD('your_existing_password')重新初始化一下密码。
这个地方我们用这个语句来解决,登陆phpmyadmin 执行这段:
UPDATE   mysql.user SET Password = PASSWORD('你的密码') WHERE   `Host`   =   'localhost '   AND   `User`   =   '你测试连接时候的用户名 '

这个执行完去连接,发现还是不行,又经过查询,这可能是由于无法连接到 UCenter 的原因,有个php的文件也要改,是这个地方:
修改文件 phpsso_server/api/uc_client/model/base.php 将第 74 行的 $this->db->connect(UC_DBHOST, UC_DBUSER, UC_DBPW, '', UC_DBCHARSET, UC_DBCONNECT, UC_DBTABLEPRE); 复制代码替换为: $this->db->connect(UC_DBHOST, UC_DBUSER, UC_DBPW, UC_DBNAME, UC_DBCHARSET, UC_DBCONNECT, UC_DBTABLEPRE); 

做完这些,清除缓存,去测试连接吧~!

恒泰科技出品,如果转载请注明=>来自恒泰科技http://www.hilltek.net,感谢您的支持!

网站备案:陕ICP备11001048号地址:西安市经济技术开发区凤城六路双威迎宾广场五号楼二单元522101室电话:029-68742186电邮:info@hilltek.net