日期:2014-05-16  浏览次数:20542 次

百度BAE数据库连接问题

今天第一次使用百度的开发平台BAE,按照入门文档上的操作一步步来,进行的很顺利,可是我在上传了一个cms系统后,进行安装时,卡在了数据库连接这个地方,弄了一下午,终于有了结果,在这里记录起来,希望能帮助使用百度开发平台的朋友少走一点弯路。


安装cms到这一步的时候,我们首先要在管理中心-》云环境-》服务管理-》mysql数据库 选项中创建一个数据库,记住数据库名称,即这里的数据库名。

数据库的账号和密码分别是基本信息里面的API Key 和 Secret Key,这样还不行,单击下一步后还是提示数据库连接错误!

我一直怀疑是数据库的账号和密码错了,但其实问题是出在了主机这一项!

主机名称是:sqld.duapp.com:4050

它是怎么获得的呢?

百度官方文档中有一段代码,我做了一点修改:

<?php
/*替换为你自己的数据库名(可从管理中心查看到)*/
$dbname = 'uhMuSqGhXHCOSRrjwJub';
 
/*从环境变量里取出数据库连接需要的参数*/
$host = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');
$port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');
$user = getenv('HTTP_BAE_ENV_AK');
$pwd = getenv('HTTP_BAE_ENV_SK');

echo "ip: $host <br/>port: $port <br/>username: $user <br/>password: $pwd <br>";
?>
主机名称既是ip和port的组合。

这里还有一个问题,就是$user和$pwd无法输出,如果完全运行百度官方文档中的代码时会报错:Connect Server Failed: AK SK Invalid。

原因肯定是出在了$user和$pwd这个地方,但是具体为什么,还没搞懂。