服务器消失后如何重新连接MySQL

问题描述 投票:0回答:3

Yii2 是否有任何本机选项可以在连接丢失时重新连接到 MySQL?我的意思是在 yii\db 组件级别。查看了这些组件,但发现只有 $this->db->close() 和 $this->db->open();但它们没有按预期工作。尝试在配置中使用主池,再次不起作用。预先感谢。

yii2
3个回答
0
投票

在数据库连接字符串中使用

autoReconnect=true

mysql://db_user:db_user@localhost/mydb?autoReconnect=true

0
投票

未经测试,但你可以尝试这样做。

// check if Database component is initialised
if (property_exists(Yii::$app, 'db')) {
    // get component object
    $oDb = Yii::$app->db;
    assert($oDb instanceof \yii\db\Connection);

    // open a new connection if the old one is not active
    if (!$oDb->isActive) {
        $oDb->open();
    }
}

您应该在查询数据库之前粘贴此代码。


-1
投票

сaptain 的 2 个解决方案显而易见:

© www.soinside.com 2019 - 2024. All rights reserved.