久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      workerman引入db類錯誤怎么辦

      workerman引入db類錯誤怎么辦

      為了更高效的服務器訪問速度,我們會使用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"}

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號