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

來源:互聯網
上載者:User
這篇文章主要介紹了關於如何設定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';

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.