CakePHP无法连接到数据库

时间:2014-02-09 01:43:15

标签: mysql database cakephp

我想学习cakePHP,所有内容都配置正确,但下面是黄色问题。

' CakePHP无法连接到数据库。 数据库连接" Mysql"缺少或无法创建。'

我浏览了谷歌,并尝试了一切来解决这个问题,但没有一个工作。 扩展php_pdo_mysql已设置,我也可以使用phpMyAdmin连接到我的数据库,我尝试使用以下代码测试我的连接,连接正常并且加载了扩展名pdo_mysql。

<?php 
$link = mysql_connect('localhost','root',''); 
if (!$link) { 
    die('Could not connect to MySQL: ' . mysql_error()); 
} 
echo 'Connection OK'; mysql_close($link); 
var_dump( extension_loaded('pdo_mysql') );
?> 

app / Config下的database.php文件如下:(注意:我在主机名上尝试过localhost并且也没有工作)

class DATABASE_CONFIG {

    public $default = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => '127.0.0.1',
        'login' => 'root',
        'password' => '',
        'database' => 'database_name',
        'prefix' => '',
        //'encoding' => 'utf8',
    );

    public $test = array(
        'datasource' => 'Database/Mysql',
        'persistent' => false,
        'host' => '127.0.0.1',
        'login' => 'root',
        'password' => '',
        'database' => 'test_database_name',
        'prefix' => '',
        //'encoding' => 'utf8',
    );
}

我使用的服务器是wamp并且工作正常,我的意思是每个状态都是绿色。

拜托,有人可以帮助我吗?!

5 个答案:

答案 0 :(得分:2)

根据this page,您必须确保在PHP中启用了pdo_mysql

编辑文件php.ini,并取消注释:

extension=php_pdo_mysql.dll

答案 1 :(得分:1)

尝试在database.php archive中添加端口。就像这样:

'host' => '127.0.0.1:3306',

适合我。

答案 2 :(得分:1)

您必须在默认数据库public $default数组中检查一些内容。

首先,将您的'host'更改为&#39; 127.0.0.0&#39;到#localhost&#39; [我知道确实没有任何区别,仍然可以试试看会发生什么]

'host' => '127.0.0.1:3306',

接下来,检查您的数据库名称是否正确并与您的MySQL数据库匹配。

'database' => 'database_name',

如果您的MySQL数据库名称是其他名称,那么您将收到代码中提到的错误。例如,如果您的MySQL数据库名称是&#39; test_db&#39;,那么您必须这样写:

'database' => 'test_db',

请记住,在默认数据库中进行所有这些更改。

答案 3 :(得分:0)

我遇到了同样的问题。 我为自己找到了解决方案。

在我的情况下,CackPHP找不到任何扩展名,因为我很难指定extension_dir路径。

在定义扩展名之前,我刚刚在php.ini文件中添加了以下行。

extension_dir =“C:/ php / ext”(您可能有不同的路径)

并重启我的apache服务器。

答案 4 :(得分:-1)

解决方案只是在database.php文件中指定密码:'password'=&gt; 'root',