dou31797719 2018-10-26 14:27
浏览 85

测试mysqli数据库连接是否在最多5秒内处于活动状态

I just tried a whole lot a things to do something really simple. I would like to test if a mysqli database connection is alive but in maximum 5 seconds. Just to check: "Hey, are you alive? Good. Continue with the code as quickly as possible."

So far MYSQLI_OPT_CONNECT_TIMEOUT has not worked for me. The server keeps waiting for +30 seconds and finally throws an error because it had to wait so long. I never intended to have it wait so long. Just check in max 5 seconds if the database is there. Otherwise return false.

This is what I got so far. Again, it waits way too long. The setting seems to be ignored about waiting only 2 seconds.

private function _is_db_connection_alive() {
    ini_set( 'mysql.connect_timeout', 2 );

    $link = mysqli_init();
    $link->options( MYSQLI_OPT_CONNECT_TIMEOUT, 2 );
    $result = @$link->real_connect( GA_DB_HOST, GA_DB_USER, GA_DB_PASSWORD, GA_DB_NAME );

    return $result;
}

So, how should this 'testing of the connection' be programmed? Thanks.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
    • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
    • ¥15 CSAPPattacklab
    • ¥15 一直显示正在等待HID—ISP
    • ¥15 Python turtle 画图
    • ¥15 关于大棚监测的pcb板设计
    • ¥15 stm32开发clion时遇到的编译问题
    • ¥15 lna设计 源简并电感型共源放大器
    • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
    • ¥15 Vue3地图和异步函数使用