CakePHP数据库错误。拒绝访问

CakePHP数据库错误。拒绝访问,php,mysql,cakephp,hostmonster,Php,Mysql,Cakephp,Hostmonster,我最近在我的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 datab

我最近在我的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已启用。已多次检查和重新检查凭据。我是否缺少其他一些秘密设置,或者主机限制了对数据库用户的控制

mydatabase.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();
}

用户“[user]”@“[host]”对数据库“[db]”的SQLSTATE[42000][1044]访问被拒绝

也就是说,蛋糕知道你的数据库细节,但它们不起作用。从链中“移除”蛋糕,并尝试自己从index.php连接

然后尝试从控制台连接


很可能您设置了错误的数据库详细信息,或者他们在数据库端没有足够的权限。

您是否配置了数据库连接?啊,是的,很抱歉。我已经更新了帖子。非常感谢。通过上面的代码,我出于好奇这么做了。虽然我还没有尝试从控制台。