2017-07-29 113 views
0

我試圖在虛擬擁有的服務器中設置CakePHP 2。唯一缺少的就是連接MySQL。我編輯了我的database.php文件以包含以下內容。CakePHP 2無法與MySQL連接

'datasource' => 'Database/Mysql', 
    'persistent' => false, 
    'database' => 'paulncks_money', 
    'host' => 'server189.web-hosting.com', 
    'login' => 'paulncks_teller', 
    'password' => '**********', 

然而,蛋糕PHP給我這個錯誤

Error: A Database connection using "Mysql" was missing or unable to connect.  

The database server returned this error: SQLSTATE[HY000] [2006] MySQL server has gone away 

我已經遷移我的數據庫到服務器上,並試圖每一個可能的主機名。

一個可能的修復

我想是更具體,包括對我的主機的端口。

'host' => 'server189.web-hosting.com', 

此更改返回了一組新錯誤。我不知道我是否更接近解決我的問題,但這些錯誤是如此的b。。

Warning (2): Packets out of order. Expected 0 received 80. Packet 
size=5526600 [CORE/Cake/Model/Datasource/Database/Mysql.php, line 184] 
Warning (2): PDO::__construct() [<a 
href='http://php.net/pdo.construct'>pdo.construct</a>]: MySQL server has 
gone away [CORE/Cake/Model/Datasource/Database/Mysql.php, line 184] 
Warning (2): PDO::__construct() [<a 
href='http://php.net/pdo.construct'>pdo.construct</a>]: Error while reading 
greeting packet. PID=294504 [CORE/Cake/Model/Datasource/Database/Mysql.php, 
line 184] 

上午我更接近連接?

+0

請注意'$連接=新的mysqli($服務器名,用戶名$,$密碼); '工作。 –

回答

0

可能是我太晚了,但是這可以幫助(從鏈接點4)另外一個人

可能的原因SQLSTATE[HY000] [2006]

其中最常見的是:

max_allowed_pa​​cket = 1M

嘗試增加到4M,8M或16M(這樣做你需要訪問mysql配置文件)

一個意見不顯示MySQL服務器的設置(主機,登錄等)

+0

謝謝,我增加了內存限制,但它仍然沒有工作。但是,我能夠通過確保我的用戶/密碼確實存在於mysql中來解決我的問題。我用ssh puTTY做了這個。 –

+0

另請確保您的mySql用戶有權訪問您要連接到的數據庫。 –