[英]PHP WebSocket: connection to MySQL server still on but not working
我遇到了一個困擾了我好幾天的奇怪問題:我在Intranet網站上使用php websocket腳本來提醒工作人員某些事情。 它是一種廉價且易於實施的解決方案,並且運行良好。 但是,我每天早上都必須重新啟動服務器。
由於php代碼在一個無限循環中運行,並且每個任務都按順序而不是同時運行,因此我認為與數據庫的一個持久連接就足夠了,因此我只需在代碼開頭使用$ GLOBALS變量打開一個連接並一遍又一遍地重復使用。 它可以正常工作,直到第二天早上所有請求都返回為假。 連接仍然有效。 錯誤捕獲器,例如“ -> connect_error ”和“ -> connect_stat() ”不會返回錯誤。
顯然,MySQL每天晚上午夜運行一次自我更新檢查。 我不確定這是什么引起問題,但我希望我不必禁用此功能。
我設法解決此問題的唯一方法是發送只能返回肯定響應的查詢。 如果不是,則關閉並重新打開連接。 在我看來,這並不明智。 必須有一種方法來檢測連接何時變得不可靠。
我正在使用最新版本的PHP和MySQL。
有任何想法嗎?
可能沒有連接錯誤,因為它已成功成功連接。而是使用$mysqli->error
檢查最后一個$mysqli->error
。 您可能會收到“ Mysql Server已經消失”。 如果這樣做,您可以關閉連接並重新啟動新的連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.