2012-04-24 82 views
0

我有我的蛋糕應用程序,它是在我的PC上在Apache上工作,但它連接到遠程數據庫。 一切都很好。cakephp無法連接到服務器上的數據庫

但是當我複製服務器上我的應用程序,有一個錯誤,當我嘗試執行任何控制器:

Error: SQLSTATE[HY000] [2005] Unknown MySQL server host 'xx.xx.xx.xx:33306' (2) requires a database connection 

Error: Confirm you have created the file : app/Config/database.php. 

我測試了簡單的PHP腳本連接(在服務器上)和我聯繫並這個數據庫中的數據沒有問題。那麼爲什麼Cake不能連接到它?什麼可能是問題?

public $external = array(
     'datasource' => 'Database/Mysql', 
     'persistent' => false, 
     'host' => 'xx.xx.xx.xx:33306', 
     'login' => 'xxx', 
     'password' => 'xxx', 
     'database' => 'xxx', 
    ); 

文件「database.php中」存在於應用程序/ config並有權rwxr-XR-X 我不知道mod_rewrite的......我該怎麼檢查呢?

+0

呃...也許我的一個愚蠢的問題,但你仔細檢查,並確保你有'app/Config/database.php'在服務器上? – jeremyharris 2012-04-24 14:22:54

+0

這不是說Cake不能連接到服務器 - 這是它無法找到你的database.php文件 - 也許文件不在那裏? mod_rewrite沒有啓用?文件/文件夾權限? – Dave 2012-04-24 14:23:32

+0

我編輯帖子到anserw你 – user606521 2012-04-24 14:40:09

回答

2
'host' => 'xx.xx.xx.xx:33306', 

是不允許的。您應該使用CakePHP docs中指定的可選端口選項。

public $external = array(
     'datasource' => 'Database/Mysql', 
     'persistent' => false, 
     'host' => 'xx.xx.xx.xx', 
     'port' => '33306', 
     'login' => 'xxx', 
     'password' => 'xxx', 
     'database' => 'xxx', 
    ); 
相關問題