[PHP-users 5629] セッションの開放について

php-users@php.gr.jp php-users@php.gr.jp
Fri, 22 Feb 2002 21:07:03 +0900


こんにちは。
セッションを開放する方法ですが、マニュアル( session_unset のページ )によると、
以下のように記述されています。

>注意 $_SESSION(またはPHP 4.0.6以前の場合は$HTTP_SESSION_VARS)が
>使用されている場合、セッション変数の登録を削除するために 
>unset()を使用して下さい。 すなわち、unset($_SESSION); 

しかし、ここに書かれているコード、unset($_SESSION); を実行すると、
「サーバーが見つかりません」の画面になり、
データをブラウザに表示できなくなります。
Apatche の エラーログには
[Fri Feb 22 18:56:46 2002] [notice] child pid 12843 exit signal Segmentation fault (11)
のようなエラーが記録されています。

これは、PHPのバグなのでしょうか?
それともマニュアルが間違っているのでしょうか?
または、私の環境のみの特殊な状況なのでしょうか?

ちなみに私の環境は以下の通りです。

サーバー
Linux Kernel 2.2.19 SMP
Apache/1.3.20
mod_ssl/2.8.4
OpenSSL/0.9.6a
PHP/4.1.1

クライアント
Windows2000 Pro


以下問題のスクリプト

<?php
session_start();
if( isset($_SESSION["a"]) ){
    unset($_SESSION); // エラーが発生 
                      // コメントアウトすると正常に動作する
    var_dump($_SESSION);
}else{
    $_SESSION["a"] = "test";
    var_dump($_SESSION);
}
printf('<br><a href="%s">next</a>',$_SERVER["PHP_SELF"]);
?>


-- 
泰野 裕士
 <yasuno@ops.ne.jp>