2012-04-24 80 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', 
    ); 
相关问题