首頁 >後端開發 >php教程 >如何設定yii資料庫的長連接

如何設定yii資料庫的長連接

不言
不言原創
2018-07-10 15:31:392904瀏覽

這篇文章主要介紹了關於如何設定yii資料庫的長連接,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

1.在設定檔設定屬性
webb/config/main.php中加入persistent或attributes屬性

    'components'=>array(
        // 数据库配置 TO Mysql
         'dsnMyBD'=>array(
            'class'=>'CDbConnection',
            'connectionString'    => 'mysql:host=127.0.0.1;port=3306;dbname=my_db',
            'tablePrefix'        => 'pre_',
            'emulatePrepare'    => true,
            'username'            => 'root',
            'password'            => '123456',
            'charset'            => 'utf8',
            'persistent'            => true,    //长连接
            // 'attributes'        => array(PDO::ATTR_PERSISTENT => true),    //长连接
          ),
          .........
      );

2.偵測是否成功啟用長連線
 可以呼叫frameworkdbCDbConnection.php下的getPersistent()函數,傳回true為啟用成功,false為啟用失敗。

例如:/web/protected/controllers/TestController.php

    public function actionList()
    {
        $oQues = MyBD::model();
        var_dump($oQues->getPersistent());
    }

備註:

  • ##如果使用了長連線而長期沒有對資料庫進行任何操作,那麼在timeout值後,mysql

     server就會關閉此連接,而客戶端在執行查詢的時候就會得到一個類似於“MySQL server has gone away“這樣的錯誤。

  • 首先以超級用戶身分登入MYSQL,注意必須是超級用戶,否則後面會提示沒有修改權限。然後輸入

    show global variables like 'wait_timeout';
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

在yii框架中掃描目錄下文件入資料庫的方法

以上是如何設定yii資料庫的長連接的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn