2016-11-17 1 views
0

私はsession_startでセッションを開始します。私はconfig.phpに次のようなことがあります。私はこれが私のデータベースを詰まらせることが分かった。だから私はどこにでもセッションを記録したくない。CodeIgniterセッションに関する質問

$config['sess_driver'] = 'database'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = 'ci_sessions'; 

Q1。 CodeIgniterのsession driverを指定する必要がありますか?セッションドライバなしでそれを行うことはできますか?もしそうなら、私は$config['sess_driver'] = '';を設定する必要がありますか?

Q2。 CodeIgniterはいつデータをデータベースに入れますか?それはあなたのウェブサイトへの訪問者がいるときそうするか。

答えて

0
  1. あなたがにsession_startを使用してPHPのネイティブのセッションを使用している場合は()、その後、CIセッションライブラリをロードしないとの両方を使用しないでください...バック$ _SESSIONを使用してに戻ります。

  2. 必要な場所にのみセッションライブラリをロードし、自動ロードしないでください。だからあなたはあなたの公共のホームページを読み上げる必要はないでしょう。これがあなたの実装である場合、あなたのメンバーページでのみ。

ユーザーあたり1セッションしか作成されないか、タイムアウトするまでです。さらに、システムにガベージコレクションがあるので、データベースの「詰まり」が問題になることはありません。

私は、私のセッションテーブルが "詰まっている"サイトを持っていたいと思っています。これは、私がたくさんの活動をしていることを意味します。

0

codeigniterにsession libraryを使用できます。セッション開始の代わりにライブラリをロードする必要があります。
あなたは自動負荷や使用中のライブラリをロードすることができます:コントローラで

$this->load->library("session"); 

を。