phpmysql如何設(shè)置超時方法

php MySQL如何設(shè)置超時方法?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)建站專注于山南網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供山南營銷型網(wǎng)站建設(shè),山南網(wǎng)站制作、山南網(wǎng)頁設(shè)計、山南網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造山南網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供山南網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

php mysql超時設(shè)置方法:首先查看MySQL的源碼;然后得到“MYSQL_OPT_READ_TIMEOUT”、“MYSQL_OPT_WRITE_TIME”的實際值;最后直接調(diào)用“mysql_option”即可。

設(shè)置php連接mysql的超時時間

php連接mysql的超時可以分為三種:

連接超時
讀超時
寫超時

因為php連接mysql當(dāng)前有兩種連接方式,libmysql和mysqlnd(推薦)。

首先libmysql

在libmysql這個底層庫中,提供了MYSQL_OPT_CONNECT_TIMEOUT、MYSQL_OPT_READ_TIMEOUT、MYSQL_OPT_WRITE_TIME設(shè)置項的,并且提供了相關(guān)的API。

源碼位置

mysql-VERSION/sql-common/client.c 3020行

MYSQL_OPT_CONNECT_TIMEOUT可以直接設(shè)置。但MYSQL_OPT_READ_TIMEOUT、MYSQL_OPT_WRITE_TIME因為mysqli沒有導(dǎo)入這兩個常量。

所以需要查看MySQL的源碼,得到MYSQL_OPT_READ_TIMEOUT、MYSQL_OPT_WRITE_TIME的實際值,然后直接調(diào)用mysql_option。但是mysql_pdo是寫死的,所以沒有任何辦法設(shè)置MYSQL_OPT_READ_TIMEOUT、MYSQL_OPT_WRITE_TIME。

源碼位置:

mysql-VERSION/include/mysql.h 160行

但是MYSQL_OPT_READ_TIMEOUT在mysql5.6版本以及之前(我們線上用的5.6),這個參數(shù)有以下三個限制。

只能在TCP/IP協(xié)議下工作
MySQL server版本必須大于5.1.2
只能在windows下生效。

其次是mysqlnd

對于libmysql和mysqlnd來講,他們都是mysql、mysqli、mysqlpdo的底層庫,這三個擴(kuò)展才是對外暴露api的,所以說,他們對于這三種超時的支持,從代碼層面是一樣的。

但是對于MYSQL_OPT_READ_TIMEOUT,mysqlnd在php.ini層面多處配置

mysqlnd.net_read_timeout

這個配置會在執(zhí)行耗時較長的sql時生效,并且報錯“2006-MySQL Server has gone away”。

這個參數(shù)和libmysql的MYSQL_OPT_READ_TIMEOUT是極為相似的。但是MYSQL_OPT_READ_TIMEOUT這個參數(shù)是有使用場景的,上一小結(jié)已經(jīng)闡述。

MYSQL_OPT_CONNECT_TIMEOUT和MYSQL_OPT_WRITE_TIME和libmysql是相同的。

總而言之

  • 使用mysqlnd

  • 配置 mysqlnd.net_read_time

關(guān)于php mysql如何設(shè)置超時方法問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

網(wǎng)站題目:phpmysql如何設(shè)置超時方法
文章起源:http://www.muchs.cn/article20/ghjjco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站改版、網(wǎng)站維護(hù)、建站公司、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)