首页 > 解决方案 > PDO 一般错误:2006 mysql server has gone away

问题描述

我正在使用 linux 并尝试使用 php 7.2 创建一些表,但是当我执行命令时它会给出如下错误。谁能帮我解决这个问题?

[PDOException] SQLSTATE[HY000] [2006] MySQL 服务器已消失
[ErrorException] PDO::__construct(): MySQL 服务器已消失

class Database extends PDO{
    function __construct(){
        $options = array(
            PDO::ATTR_PERSISTENT => true,
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        );
        try{
            parent::__construct(DB_TYPE.':host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8',DB_USER,DB_PASS, $options);
        }catch (PDOException $e) {
            echo "Got PDOException\n";
            var_dump($this);
        }

    }
}

我无法将此页面的说明设置为我拥有的课程 https://dev.mysql.com/doc/refman/8.0/en/gone-away.html

标签: phppdo

解决方案


$db->e​​xec('SET session wait_timeout=60');


推荐阅读