2014-02-09 200 views
2

我想研究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')); 
?> 

下应用的database.php中的文件/配置如下:(注:我试过在本地主机的主机名,并没有太多工作)

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它工作正常,我的意思是每个人都在它的状态绿色。

请问,有人可以帮助我吗?!

+1

你在设置数据库名称吗? –

+0

你是否在上面提到的文件上设置了用户名和密码? –

+1

当Guillemo Mansilla谈到数据库时,我决定通过phpMyAdmin创建它,问题就没有了。我认为cakePHP用于为我创建初始数据库,如果它不存在。 – ThiagoCoder

回答

-1

尝试添加端口database.php中archive.Like这样的:

'host' => '127.0.0.1:3306', 

为我工作。

2

根据this page,你必须确保你拥有支持PHP pdo_mysql

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

extension=php_pdo_mysql.dll 
1

你必须检查的几件事情您的默认数据库public $default数组。

首先,你'host'从“127.0.0.0”到“本地主机”更改[我知道是不是真的有什么不同,仍然,给它一个去看看会发生什么]

'host' => '127.0.0.1:3306', 

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

'database' => 'database_name', 

如果你的MySQL数据库名称是别的,那么你会得到你在代码中提到的错误。举例来说,如果你的MySQL数据库名称为“TEST_DB”,你必须这样写:

'database' => 'test_db', 

记住,使所有这些变化的缺省数据库。

-1

解决方案只是在database.php中文件中指定这样的密码:“密码” =>“根”,

+1

以纯文本格式存储密码并不是一个好主意。 –

0

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

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

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

下extension_dir = “C:/ PHP /分机”(您可以有不同的路径)

,并重新启动我的Apache服务器。