国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

自定義進程中 Error while sending STMT_PREPARE packet

swordman

問題描述

在自定義的進程中, 定時任務(wù)每隔15秒運行一次,偶爾會出現(xiàn)下面錯誤

PHP Warning: Error while sending STMT_PREPARE packet. PID=28321 in /data/www/wb/vendor/illuminate/database/Connection.php on line 458

PHP Warning: PDO::prepare(): MySQL server has gone away in /data/www/wb/vendor/illuminate/database/Connection.php on line 458

Warning: PDO::prepare(): MySQL server has gone away in /data/www/wb/vendor/illuminate/database/Connection.php on line 458

我嘗試使用一個新的自定義進程,每隔50秒操作一次數(shù)據(jù)庫,但是沒有解決到問題,請問各位大佬還有什么其他辦法處理嗎?

運行環(huán)境

Workerman version:4.0.19 PHP version:7.3.9

為此你搜索到了哪些方案及不適用的原因

411 1 0
1個回答

walkor 打賞

看下數(shù)據(jù)庫是否重啟過
建議用高版本php,這樣能用高版本 illuminate/database, 它底層有做重連

  • swordman 2024-10-13

    謝謝。數(shù)據(jù)庫是云數(shù)據(jù)庫, 應(yīng)該是不會重啟。 我先升級下PHP8版本,再測試下。

  • walkor 2024-10-13

    云數(shù)據(jù)庫60秒沒訪問連接會被云數(shù)據(jù)庫清理掉,所以要保證每小于60秒訪問一次數(shù)據(jù)庫?;?。
    新建一個新的進程50秒一次訪問數(shù)據(jù)庫只能?;钚碌倪M程的數(shù)據(jù)庫連接,對任務(wù)進程沒有效果。
    所以任務(wù)進程也需要50秒通訊一次數(shù)據(jù)庫。

  • swordman 2024-10-13

    我看了下數(shù)據(jù)庫的wait_timeout=3600, 不知道是不是你說的這個60秒的設(shè)置, 我先按照你說的這個試試,在每個任務(wù)進程做一個50秒的通訊操作。

  • walkor 2024-10-14

    60秒清理連接不是數(shù)據(jù)庫的配置導致的,不是開發(fā)者能控制的,并且這個連接清理沒有fin包,應(yīng)用層無法感知到連接斷開。只能通過心跳維持。

  • swordman 2024-10-14

    謝謝指導。 我還沒有升級PHP, 但是按照你說的在任務(wù)進程50秒通訊一次, 從昨天晚上修改后到今天, 沒有報錯了。我今天再觀察一天,后面升級PHP8再測試。

??