2014-02-09 194 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服務器。