#18996 [Opn->Csd]: Can't unset() the session variables
| From: | kalowsky@php.net | Date: | Tue, 20 Aug 2002 23:03:55 +0000 |
| Subject: | #18996 [Opn->Csd]: Can't unset() the session variables | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-17368@lists.php.net to get a copy of this message | ||
ID: 18996
Updated by: kalowsky@php.net
Reported By: frank@orite.com
-Status: Open
+Status: Closed
Bug Type: Session related
Operating System: Redhat Linux 7.3
PHP Version: 4.2.2
New Comment:
This bug has been fixed in CVS.
In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2002-08-20 18:07:57] frank@orite.com
Actually I can unset the variables without problem by using
session_unregister() or session_unset();
However from the PHP Manual, these two functions are defered as:
Note: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is
used, use unset() to unregister a session variable.
Caution
If you are using $HTTP_SESSION_VARS/$_SESSION and disable
register_globals, do not use session_register(),
session_is_registered() and session_unregister().
------------------------------------------------------------------------
[2002-08-20 17:24:37] frank@orite.com
I have same problem on my Windows Machine running IIS 5.1 PHP 4.2.2 as
well.
------------------------------------------------------------------------
[2002-08-20 16:49:05] frank@orite.com
Apache/1.3.23 (Unix) (Red-Hat/Linux)
register_globals = Off
[Session]
session.save_handler = files
session.save_path = /tmp
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_maxlifetime = 1440
session.referer_check =
session.entropy_length = 0
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 1
url_rewriter.tags =
"a=href,area=href,frame=src,input=src,form=fakeentry"
I was trying to test the session via two pages, test.php and test2.php.
Following are the scripts and results come up:
test.php
<?php
session_start();
$_SESSION["user"]="foo";
echo "set:".$_SESSION["user"];
unset($_SESSION);
echo "<br>unset:".@$_SESSION["user"];
?>
result on page:
set:foo
unset:
test2.php
<?php
session_start();
echo "set:".$_SESSION["user"];
echo "<br>unset:".@$_SESSION["user"];
?>
result on page:
set:foo
unset:foo
I've also tried to put up a session_destory() in test.php, that helps
to unset the variable, but simply the session no longer exists.
Does anyone has the same problem, or any answers to this issue?
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=18996&edit=1