3
我有一個長時間運行的php腳本,它基本上是一個監聽事件(它是一個xmpp bot)的無限循環,我用nohup php bot.php &
開始腳本。檢查mysql連接是否有效
腳本的原始結構是這樣
$mysqli = mysqli_connect(...);
while(1) {
if(event1) {
// do database action
} else if(event2) {
// non database action
echo "something";
}
}
當我運行該腳本,一切工作正常開始。當我幾個小時後回來時,如果我發出event2但是發出事件1時發生數據庫相關錯誤(PHP致命錯誤:調用在線非對象上的成員函數bind_param()n)
如何保持mysql連接有效,或者有辦法檢查mysqli連接是否有效,這樣我就可以重新連接了嗎?
謝謝,mysqli_ping工作。我想補充一點,我必須在我的php.ini中添加mysqli.reconnect = On,以便在關閉時自動重新建立連接。 (注意:ini_set在這種情況下不起作用!!) – Gunjan 2010-07-20 08:06:13
@Gunjan非常感謝您的評論 - 它幫助我解決了我的問題。我添加的php.ini指令是'mysqli.reconnect =「1」',並且不需要在代碼中添加'$ mysqli-ping()'。 – user1477388 2014-06-15 10:51:08