[PHP-users 7101] セッションについて
Takeo Usui
php-users@php.gr.jp
Tue, 23 Apr 2002 20:11:00 +0900
お世話になります。碓井と申します。
セッションについて質問があります。
下記のスクリプトで、ブラウザからtest1.phpを呼び、
nextをクリックするとカウントが表示され、
リロードするたびに、数値が増えていきます。
リセットをクリックするとセッションはdestroyされ、
カウントは1からになります。
----------------- test1.php -----------------------
<?php
session_start();
session_register("num");
echo"set<BR>
<a href=\"next.php\">next</a><BR>
<a href=\"reset.php\">reset</a>";
?>
---------------------------------------------------
----------------- next.php ------------------------
<?php
session_start();
if(!session_is_registered("num")){
echo"NG";
exit;
}
else{
$num++;
echo"$num<BR>
<a href=\"reset.php\">reset</a>";
}
?>
---------------------------------------------------
----------------- reset.php -----------------------
<?php
session_start();
session_destroy();
echo"reset<BR>
<a href='test1.php'>back</a>";
?>
---------------------------------------------------
resetをクリックしてから、next.phpを直接URL指定して呼び出すと
きちんと"NG"が表示されます。
ここまではこれで良いのですが、test1.phpを表示して、
nextをクリックし、next.phpを表示します。
10秒以上何もせずにブラウザのリロードなり、URLを打ち込むなりして
next.php表示した場合、「session.gc_maxlifetime 10」と指定しているので
"NG"という表示を期待しているのに、カウントの数値が表示されてしまいます。
何かヒントをご教授いただけませんでしょうか。
よろしくお願いします。
・環境
OS:Red Hat Linux 7.1
PHP:4.1.2
Apache:1.3.23
・phpのconfigure
'--enable-zend-multibyte'
'--enable-mbstring'
'--enable-mbstr-enc-trans'
'--with-sybase=/opt/sybase/'
'--with-apxs=/usr/local/apache/bin/apxs'
・phpのsessionの設定
session.auto_start Off
session.cache_expire 180
session.cache_limiter nocache
session.cookie_domain no value
session.cookie_lifetime 0
session.cookie_path /
session.cookie_secure Off
session.entropy_file no value
session.entropy_length 0
session.gc_maxlifetime 10
session.gc_probability 5
session.name PHPSESSID
session.referer_check no value
session.save_handler files
session.save_path /tmp
session.serialize_handler php
session.use_cookies On
Takeo Usui
takeo-u@pop07.odn.ne.jp