fuelphpでのsession
またまたfuelphp。(fuelphp1.7)
最近fuelをいじっているので、忘れないためにメモメモ。
fuelphpでのsessionはcodeigniterと同じくデフォルトではcookieにデータが書き込まれます。
そして、セッション情報は暗号化されてCookieに埋め込まれるという点も同じ。
セッションが多くなればなるほどcookieの情報が多くなるので注意してください。
多くなる恐れがある場合は、別のドライバを使用しましょう。
ドライバの種類は、cookie,file,db,memcached,redis があります。
別のドライバを利用したい場合は、APP_PATH/config/session.phpというファイルを作成し
以下の様な形式で保存し、'driver'部分を変更します。
<?php return array( 'auto_initialize' => true, 'driver' => 'redis', 'match_ip' => false, 'match_ua' => true, 'cookie_domain' => '', 'cookie_path' => '/', 'cookie_http_only' => null, 'expire_on_close' => false, 'expiration_time' => 7200, 'rotation_time' => 300, 'flash_id' => 'flash', 'flash_auto_expire' => true, 'post_cookie_name' => '', 'cookie' => array( 'cookie_name'=> 'fuelcid', ), 'file' => array( 'cookie_name' => 'fuelfid', 'path' => '/tmp', 'gc_probability' => 5 ), 'memcached' => array( 'cookie_name'=> 'fuelmid', 'servers' => array( 'default' => array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100) ), ), 'db' => array( 'cookie_name' => 'fueldid', 'database' => null, 'table' => 'sessions', 'gc_probability' => 5 ), 'redis' => array( 'cookie_name' => 'fuelrid', 'database' => 'default' ) );
もちろんのことですが、memcached,db,redisはそれぞれがサーバーにインストールされていないとエラーが起こりますので注意してください。