【问题标题】:MySQL server has gone away and Error while reading greeting packet [duplicate]MySQL服务器已消失,读取问候数据包时出错[重复]
【发布时间】:2017-06-27 16:33:18
【问题描述】:

我不知道这是为什么:

$dbh = new PDO('mysql:host=127.0.0.1:1812;dbname=nde_oldy-pn', 'root', '');

抛出这个异常:

PDO::__construct(): MySQL server has gone away
PDO::__construct(): Error while reading greeting packet
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2006] MySQL server has gone away'
PDOException: SQLSTATE[HY000] [2006] MySQL server has gone away

是的!我明白 ! MySQL 决定在他自己的命令下不带我去旅行!呸!

我已经尝试了此页面上的所有内容:MySQL Documentation (.5.2.9 MySQL server has gone away)

上下文: 它与 WAMP 3.0.6 一起运行 (Apache 2.4.23;PHP 7.0.10;MySQL 5.7.14) 像这样的网址:

localhost:1812/NDEfiveYEARSproject/index.php

httpd.conf 像这样:

听 12.34.56.78:1812

听 0.0.0.0:1812

听 [::0]:1812

服务器名称 localhost:1812

my.ini 像这样:

端口 = 3306

key_buffer_size = 64M

max_allowed_pa​​cket = 200M

是的 1812 和 3306 端口是开放的。

是的,每个端口(1812 和 3306)的传入和传出流量规则已创建

IIS 没有运行

Skype 和 Teamviewer 也一样...

【问题讨论】:

  • 确定要联系3306端口,而不是1812端口?那是 Apache,你想要 MySQL。

标签: php mysql exception pdo


【解决方案1】:

更改端口号。到 3306

$dbh =  new PDO('mysql:host=127.0.0.1;port=3306;dbname=nde_oldy-pn', 'root', '');

【讨论】:

  • 对不起 - 3306 是默认值,但我认为您单独指定端口 port=3306',
【解决方案2】:

今天遇到这个MySQL服务器错误,尝试了各种解决方案。

卸载并重新安装 XAMPP 对我有用。 :D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 2012-04-22
    • 1970-01-01
    • 2019-08-31
    • 2013-11-28
    • 2013-09-11
    • 2016-05-17
    相关资源
    最近更新 更多