workerman引入db類失效怎么辦,解決方法是什么
Admin 2022-07-22 群英技術(shù)資訊 828 次瀏覽
這篇文章將為大家詳細講解有關(guān)“workerman引入db類失效怎么辦,解決方法是什么”的知識,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
為了更高效的服務(wù)器訪問速度,我們會使用mysql 或者其他數(shù)據(jù)庫的長連接 來提高訪問速度,
以下內(nèi)容以mysql pdo 為例:
問題:
在cli 常駐內(nèi)存的情況下,會有許多情況造成創(chuàng)建的連接失效;
解決方法:
在訪問數(shù)據(jù)庫的時候加上 try catch 捕獲
捕獲到錯誤是 2006 或者 2013 的時候 表示連接失效 這時候 重新連接數(shù)據(jù)庫,以保證程序正常運行;
// 在和數(shù)據(jù)庫交互的地方加上try catchpublic function Init($query)
{
try{
// todo 這里是操作數(shù)據(jù)庫的邏輯
}catch (\Exception $e) {
if ( $e->errorInfo[1] === 2006 || $e->errorInfo[1] === 2013 ) {
// todo 下面填寫 或者調(diào)用連接數(shù)據(jù)庫的代碼
$dsn = 'mysql:dbname=' . $this->settings["dbname"] . ';host=' . $this->settings["host"] . '';
$this->pdo = new \PDO($dsn, $this->settings["user"], $this->settings["password"], array(\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8;"));
$this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$this->pdo->setAttribute(\PDO::ATTR_EMULATE_PREPARES, true);
return true;
}
}
}var_dump($e->errorInfo); 的值
array(3) {
[0]=>
string(5) "HY000"
[1]=>
int(2006)
[2]=>
string(26) "MySQL server has gone away"}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:[email protected]進行舉報,并提供相關(guān)證據(jù),查實之后,將立刻刪除涉嫌侵權(quán)內(nèi)容。
猜你喜歡
這篇文章主要給大家分享一個將格式化字符串寫入變量的實例,其中PHP中vsprintf()函數(shù),就能夠?qū)崿F(xiàn)把格式化字符串寫入變量中。下面我們就來看看vsprintf() 函數(shù)的用法及操作原理。感興趣的朋友就繼續(xù)往下看吧。
PHP組合模式是PHP設(shè)計模式中的一種,這篇文章主要就是分析PHP組合模式的定義和應(yīng)用,下面有具體代碼和注釋,分享給有需要的朋友參考,下面我們就一起來看看。
本文將給大家介紹PHP中的===運算符為什么比==快?PHP中的===和==運算符,這兩個運算符屬于PHP中的比較運算符。
本篇文章給大家介紹一下PHP7比5快的原因。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
今天小編就為大家分享一篇關(guān)于PHP的PDO預(yù)處理語句與存儲過程,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
推薦內(nèi)容
成為群英會員,開啟智能安全云計算之旅
立即注冊關(guān)注或聯(lián)系群英網(wǎng)絡(luò)
7x24小時售前:400-678-4567
7x24小時售后:0668-2555666
24小時QQ客服
群英微信公眾號
CNNIC域名投訴舉報處理平臺
服務(wù)電話:010-58813000
服務(wù)郵箱:[email protected]
投訴與建議:0668-2555555
Copyright ? QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版權(quán)所有
增值電信經(jīng)營許可證 : B1.B2-20140078 ICP核準(zhǔn)(ICP備案)粵ICP備09006778號 域名注冊商資質(zhì) 粵 D3.1-20240008