小編給大家分享一下如何解決workerman+tp5的錯誤問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

解放網站制作公司哪家好,找創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、響應式網站建設等網站項目制作,到程序開發,運營維護。創新互聯公司自2013年創立以來到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯公司。
workerman+tp5的錯誤問題怎么解決?thinkphp5+workerman 報錯問題
在thinkphp5.0.X版本早期會遇到長時間開啟workerman服務會報錯,在thinkphp5.0.24版本已經修復。原因是因為長時間鏈接數據庫,導致數據庫斷線。
解決的方案:
1、修改數據庫配置database.php文件,將break_reconnect參數設置為true。斷線重連。
// 是否需要斷線重連 'break_reconnect' => true,
2、修改 /library/think/db/Connection.php中的isBreak函數,替換為以下最新的isBreak函數。
/**
* 是否斷線
* @access protected
* @param \PDOException|\Exception $e 異常對象
* @return bool
*/
protected function isBreak($e)
{
if (!$this->config['break_reconnect']) {
return false;
}
$info = [
'server has gone away',
'no connection to the server',
'Lost connection',
'is dead or not enabled',
'Error while sending',
'decryption failed or bad record mac',
'server closed the connection unexpectedly',
'SSL connection has been closed unexpectedly',
'Error writing data to the connection',
'Resource deadlock avoided',
'failed with errno',
];
$error = $e->getMessage();
foreach ($info as $msg) {
if (false !== stripos($error, $msg)) {
return true;
}
}
return false;
}3、將/library/think/db/connector/MySQL.php中的isBreak函數刪除或者注釋掉。
修改完后,workerman長時間鏈接數據庫,數據庫斷開會重連。
看完了這篇文章,相信你對“如何解決workerman+tp5的錯誤問題”有了一定的了解,如果想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
分享文章:如何解決workerman+tp5的錯誤問題
鏈接分享:http://www.yijiale78.com/article32/ghdopc.html
成都網站建設公司_創新互聯,為您提供外貿建站、面包屑導航、App設計、域名注冊、網站策劃、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯