我想学习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并且工作正常,我的意思是每个状态都是绿色。
拜托,有人可以帮助我吗?!
答案 0 :(得分:2)
答案 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',