[PHP-users 25462] Re: セッションをDBへ保存できない
Yusuke ITO
ito_yusuke @ white.livedoor.com
2005年 4月 24日 (日) 10:21:12 JST
伊東です。
--utsumi<u-takasan @ pat.hi-ho.ne.jp> wrote:
>ファイルに保存されたセッションデータを見ると、オブジェクトの部分に
>"^@*^@" という文字列があり、それが邪魔して、postgresに保存できないようで
>す。
パフォーマンスは落ちますが(どれくらい落ちるかは計測したことは有りませんが)
オブジェクトをserializeしてbase64_encodeしてから$_SESSIONに登録するとか。
当然、取り出す側ではbase64_decodeしてunserializeする必要があります。
#私は無用なトラブルを避けるため、関数化して使っています。
function set_session($session_var, $data){
@session_start();
$_SESSION[$session_var] = base64_encode(serialize($data));
}
function get_session($session_var){
@session_start();
if(isset($_SESSION[$session_var])){
$data = unserialize(base64_deode($_SESSION[$session_var]));
unset($_SESSION[$session_var]);
return($data);
}else{
return(false);
}
}
--
伊東 祐介
ito_yusuke @ white.livedoor.com
-----------------------------------------------
2GBまでメールや画像など貯め放題!さらに特典いっぱい♪
livedoor ギガメーラープラス 【新登場】
http://gigamailerplus.livedoor.com/
PHP-users メーリングリストの案内