[PHP-users 5407] Re: unset($_SESSION['...']) ができない

Tender Blue php-users@php.gr.jp
Fri, 15 Feb 2002 00:04:36 +0900


しげたさん、梶井さん、Setoさん、ありがとうございます。

> ところで、register_globalsの設定が悪さをしているなんてことはな
> いでしょうか。もしregister_globalsがonの場合、
> 
> $ojbect = $_SESSION["object"];
> 
> となっているので、
> 
> unset($_SESSION["object"]);
> 
> としても、$objectは残っていますので、その辺の問題かも。
> 念のために
> 
> session_unregister("object");
> 
> もあわせてしてみるとか。

register_globals は OFF になっておりました。
その設定のもと、session_unregister("object); を
試してみたら、うまく object をセッションから解除でき、
望み通りの作動を確認できました。

Setoさんの
> $object自体も同時に unset するとうまくいきました。
これも試してみましたが、こちらはうまくいきませんでした。

---------------------------------------------
$HTTP_SESSION_VARS/$_SESSIONを使用する場合、セッション
モジュールの内部動作を知っているユーザ以外は、 session_register(),
session_is_registered(), session_unregister()を使用しないで下さい。
---------------------------------------------
マニュアルにはこうありますが、仕方ないので session_unregister()を
使用することにします。もちろん(!?) モジュールの内部動作は知りません。
具体的にどのような副作用の可能性があるのでしょうか?