我最近在我的 hostmonster 共享服务器上安装了 CakePHP 并创建了一个新的数据库和用户(具有完全权限),我得到以下信息:
Cake is NOT able to connect to the database.
Database connection "Mysql" is missing, or could not be created.
SQLSTATE[42000] [1044] Access denied for user '[user]'@'[host]' to database '[db]'
- 为安全起见,括号中的项目不包括在内。
我已验证 PDO 和 PDO mysql 已启用。凭据已被多次检查和重新检查。我是否缺少其他一些秘密设置,或者主机是否限制了对我的数据库用户的控制?
我的 database.php 配置:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'host',
'login' => 'user',
'password' => 'pass',
'database' => 'db',
'prefix' => '',
//'encoding' => 'utf8',
);
public $test = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'host',
'login' => 'user',
'password' => 'pass',
'database' => 'db',
'prefix' => '',
//'encoding' => 'utf8',
);
此外,我已经能够通过以下代码使用完全相同的凭据通过 PDO 成功连接到数据库:
$hostname = "host";
$db = "db";
$username = "user";
$password = "pas";
try {
$db = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
echo "Connected to database";
}
catch(PDOException $e) {
echo $e->getMessage();
}