在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP/ PHP報(bào)錯(cuò):MySQL server has gone away

PHP報(bào)錯(cuò):MySQL server has gone away

PHP程序在執(zhí)行批量sql的時(shí)候偶爾報(bào)錯(cuò):MySQL server has gone away。
主要邏輯就是循環(huán)處理20個(gè)事務(wù),一個(gè)事務(wù)大概12個(gè)左右的sql,也就是一個(gè)流程下來估計(jì)有超過240個(gè)sql左右,偶爾會(huì)報(bào)錯(cuò),我看了超時(shí)時(shí)間設(shè)置:
clipboard.png
時(shí)間是充足的很,可是為什么還是會(huì)報(bào)錯(cuò)呢?
還有就是sql不存在大數(shù)據(jù)插入,所以不會(huì)是數(shù)據(jù)包超過限制而導(dǎo)致的,網(wǎng)上搜索的大體三種原因:
1、長時(shí)間閑置導(dǎo)致連接斷開,這個(gè)排除
2、sql語句太長,數(shù)據(jù)包過大導(dǎo)致,這個(gè)排除
3、超時(shí)時(shí)間過短導(dǎo)致,這個(gè)排除

想破腦殼都想不到什么原因,測(cè)試了整個(gè)流程執(zhí)行時(shí)間平均不超過10秒 為啥呢?有木有大神指導(dǎo)一下

我用的是PDO方式連接,其實(shí)每次執(zhí)行sql之前都有判斷連接是否斷開

clipboard.png

可是好像沒用

回答
編輯回答
挽歌

my.ini 文件,修改這三個(gè)值,沒有添加

max_allowed_packet = 500M

wait_timeout=288000

interactive_timeout = 288000
2018年5月23日 17:51
編輯回答
舊城人

mysql連接斷開,原因待定 。。。。 可能執(zhí)行有問題,mysql強(qiáng)制斷開了連接~

2018年2月24日 05:53
編輯回答
六扇門

你的mysql很忙,在干別的事。

2018年6月6日 22:15
編輯回答
詆毀你

使用 mysqli_ping(); 檢查連接狀態(tài),如果鏈接斷開就重新連接;
$link_status = mysqli_ping($con);
if(false==$link_status)
{

//mysqli_connect

}
不知道這種方法對(duì)你是否有用。

試一下先獲取程序異常,再獲取pdo異常,看是不是程序執(zhí)行上有什么錯(cuò)誤

2017年9月10日 05:34