【问题标题】:CakePHP 2 cannot connection with MySQLCakePHP 2 无法与 MySQL 连接
【发布时间】:2017-07-29 20:56:32
【问题描述】:

我正在尝试在我虚拟拥有的服务器中设置 CakePHP 2。唯一缺少的步骤是连接 MySQL。我编辑了我的 database.php 文件以包含以下内容。

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

但是,cake 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',

此更改返回了一组新错误。我不知道我是否更接近解决我的问题,但这些错误太离奇了。

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]

我离连接更近了吗?

【问题讨论】:

  • 请注意$connection = new mysqli($servername, $username, $password); 有效。

标签: php mysql cakephp cakephp-2.0


【解决方案1】:

可能我来晚了,但这可以帮助其他人

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

其中最常见的是(链接中的第 4 点):

max_allowed_pa​​cket = 1M

尝试增加到 4M、8M 或 16M(为此您需要访问 mysql 配置文件)

一个建议不要显示 mysql 服务器设置(主机、登录等)

【讨论】:

  • 谢谢,我增加了内存限制,但还是不行。但是,我能够通过确保我的用户/密码确实存在于 mysql 中来解决我的问题。我使用 ssh puTTY 完成了这项工作。
  • 还要确保您的 mySql 用户有权访问您要连接到的数据库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-10
  • 2015-06-06
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
  • 2020-03-24
  • 2021-10-23
相关资源
最近更新 更多