我期待能够ping的mysql服务器使用 mysql_ping() ( mysqli_ping() )在yii2框架内。我现在使用 createCommand() 对于我所有的sql查询,我不太了解如何在这个范围之外使用ping函数。我甚至不知道如何在go yii中获取sql链接。我没有任何测试代码,因为我甚至不知道从哪里开始。任何能帮我指明正确方向的人都将不胜感激。
mysql_ping()
mysqli_ping()
createCommand()
hgb9j2n61#
yii db组件使用pdo,而pdo没有 mysql_ping() 等价物。你能得到的最接近的东西就是查询 SELECT 1 如果发生异常,请重新连接。
SELECT 1
public function ping() { try { Yii::$app->db->createCommand('SELECT 1')->query(); } catch (\yii\db\Exception $exception) { Yii::$app->db->close(); Yii::$app->db->open(); } }
请注意,如果使用事务,重新连接可能会隐式地导致意外和静默回滚。
1条答案
按热度按时间hgb9j2n61#
yii db组件使用pdo,而pdo没有
mysql_ping()
等价物。你能得到的最接近的东西就是查询SELECT 1
如果发生异常,请重新连接。请注意,如果使用事务,重新连接可能会隐式地导致意外和静默回滚。