這篇文章主要介紹了關於如何設定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!