首页 > 后端开发 > PHP问题 > PHP如何实现访问MySQL的查询超时

PHP如何实现访问MySQL的查询超时

coldplay.xixi
发布: 2023-03-05 09:32:01
原创
2914 人浏览过

PHP实现访问MySQL的查询超时方法:1、 修改客户端,比如mysqli的query代码,加入定时器,超时则返回;2、修改Mysql中的vio代码,因为mysql的网络处理底层都是经过vio的操作。

PHP如何实现访问MySQL的查询超时

相关学习推荐:mysql教程

PHP实现访问MySQL的查询超时方法:

在libmysql中, 是提供了MYSQL_OPT_READ_TIMEOUT设置项的, 并且libmysql中提供了设置相关设置项的API, mysql_options:

目前只有mysqli支持

<?php
$mysqli = mysqli_init();
$mysqli->options(11 /*MYSQL_OPT_READ_TIMEOUT*/, 1);
$mysql->real_connect(***);
登录后复制

不过, 因为在libmysql中有重试机制(尝试一次, 重试俩次), 所以, 最终我们设置的超时阈值都会三倍于我们设置的值.

也就是说, 如果我们设置了MYSQL_OPT_READ_TIMEOUT为1, 最终会在3s以后超时结束. 也就是说, 我们目前能设置的最短超时时, 就是3秒…

1. 修改客户端,比如 mysqli 的 query 代码,加入定时器,超时则返回

2. 修改 Mysql 中的vio代码,因为mysql的网络处理底层都是经过vio的操作

想了解更多相关学习,敬请关注php培训栏目!

以上是PHP如何实现访问MySQL的查询超时的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板