0

私は最近、自分の 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();
}
4

1 に答える 1

0

SQLSTATE[42000] [1044] データベース '[db]' へのユーザー '[user]'@'[host]' のアクセスが拒否されました

つまり、ケーキはDBの詳細を知っていますが、機能しません。チェーンからケーキを「削除」し、index.php から自分で接続してみます。

次に、コンソールから接続してみます。

間違った DB の詳細を設定したか、DB 側で十分な権限を持っていない可能性があります。

于 2013-03-28T01:29:50.260 に答える