2010-12-13 13 views
8

セッションのフレームワークCodeIgniterのサイズを増やすにはどうすればよいですか?codeigniterのセッションのサイズ

標準サイズは04 kb

+0

CodeIgniterはセッション情報を保存するためにCookieを使用します。このような大量のデータを格納する場合は、データベースを使用して情報を格納することを検討する必要があります。 – Malachi

+0

ありがとうございました セッションに一部のデータを保存しないようにプログラムを変更しました – Pedro

答えて

17

codeigniterセッションとは何の関係もありません.4kbのデータは、クッキーが保持できる最大サイズです。

さらにデータを保持するには、データベースを使用します(http://codeigniter.com/user_guide/libraries/sessions.htmlの「データベースへのセッションデータの保存」を参照)。

+0

「セッションデータをデータベースに保存する」の章では、CI_Sessionで検証データを保存する方法についてのみ説明しています。あなたの「本当の」データは常にクッキーに保存されるので、セッションのサイズは同じです:4kb 保存するにはhttp://codeigniter.com/wiki/DB_Session/またはhttp://codeigniter.com/wiki/OB_Session/を参照してくださいデータベース内のデータ –

+4

私はこれを試したときに一般的なデータ –

8

セッションに大量のデータを保存しないでください。要求ごとにスクリプトのメモリにロードされます。

セッションIDを使用してセッションにデータを接続する代わりに、ファイルまたはデータベースを使用します。

3

はい、データベースを使用する必要があります。はい、4kbの制限は、10年前にNetscapeが選んだCookieサイズのブラウザ制限です。同じドメインのサーバー上のオブジェクトに対するすべてのリクエストヘッダーがこのCookieを送信するため、Cookieを小さくすることは一般的には良い方法です。

また、CodeIgniterのデータベースセッションテーブルに関するヒントは、セッションをディスクではなくRAMに保存するようにタイプをMEMORYに設定すると、サイトが高速になります(サイトにアクセスするとディスクが少なくなります)。サーバーが再起動したときにセッションデータが失われますが、再起動が保留されていると、そのような情報は通常はあまり役に立ちません。 CodeIgniterのMySQLのテーブルを作成するための

SQL:

CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL, 
ip_address varchar(16) DEFAULT '0' NOT NULL, 
user_agent varchar(50) NOT NULL, 
last_activity int(10) unsigned DEFAULT 0 NOT NULL, 
user_data text NOT NULL, 
PRIMARY KEY (session_id) 
); 
(アプリケーション/設定/ config.phpの中)

CodeIgniterのPHPオプション:

$config['sess_cookie_name']  = 'ci_session'; 
$config['sess_expiration']  = 7200; 
$config['sess_encrypt_cookie'] = FALSE; 
$config['sess_use_database'] = TRUE; 
$config['sess_table_name']  = 'ci_sessions'; 
$config['sess_match_ip']  = FALSE; 
$config['sess_match_useragent'] = TRUE; 
$config['sess_time_to_update'] = 300; 
1

それはさえに良い習慣ではありません@allセッションはこれに役立つかもしれませんが、一般的なデータについてはもう一度&にヒットしてください。この目的でPHPネイティブセッションを使用することをお勧めします。ここでは、CIでPHPネイティブセッションを使用する方法を参照してください。

+0

のためにもう一度dbを打つのは良くありませんが、このエラーが発生します:エラーが発生しました 存在しないクラス:セッション – dapidmini

関連する問題