#44057 [Opn]: Session vars weird behavior

From: Date: Tue, 10 Feb 2009 12:54:10 +0000
Subject: #44057 [Opn]: Session vars weird behavior
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-1824@lists.php.net to get a copy of this message
ID: 44057 Updated by: rquadling@php.net Reported By: galaxy dot mipt at gmail dot com Status: Open Bug Type: Documentation problem Operating System: Linux 2.6.18 PHP Version: 5.2.5 New Comment: Currently, the documentation says that $HTTP_SESSION_VARS is deprecated. and in V5.3.0 betas, there is no $HTTP_SESSION_VARS So, is this still an ongoing problem? <?php var_dump($HTTP_SESSION_VARS); ?> Notice: Undefined variable: HTTP_SESSION_VARS Previous Comments: ------------------------------------------------------------------------ [2008-11-07 14:18:24] galaxy dot mipt at gmail dot com Yeah, I can definitely reproduce it under PHP 5.2.6 with files and mecached session handlers. It is not affected by register_global (I always keep it and similar deprecated stuff to off but switching it on changes nothing). Well, what else to add... PHP Version 5.2.6 on Linux 2.6.18 './configure' '--prefix=/opt/php5' '--with-apxs=/opt/apache/bin/apxs' '--with-openssl' '--with-zlib' '--enable-sockets' '--with-mysql=shared,/opt/mysql-4.1.21l' '--with-iconv' '--with-gd' '--enable-bcmath' '--with-curl' '--with-mcrypt' '--with-pgsql=shared,/opt/pgsql-8.1.4' '--with-oci8=/opt/OraHome' '--enable-exif' '--with-jpeg-dir=/usr/lib' '--enable-wddx' '--enable-pcntl' '--enable-mbstring' '--with-gmp' '--with-freetype-dir=/usr/lib' '--with-xsl' '--with-xmlrpc' Used with Apache 1.3.37 (mod_php5) Session Support enabled Registered save handlers files user sqlite memcache Registered serializer handlers php php_binary wddx Directive Local Value Master Value session.auto_start Off Off session.bug_compat_42 On On session.bug_compat_warn On On session.cache_expire 720 720 session.cache_limiter nocache nocache session.cookie_domain no value no value session.cookie_httponly Off Off session.cookie_lifetime 0 0 session.cookie_path / / session.cookie_secure Off Off session.entropy_file no value no value session.entropy_length 0 0 session.gc_divisor 100 100 session.gc_maxlifetime 7200 7200 session.gc_probability 10 10 session.hash_bits_per_character 4 4 session.hash_function 0 0 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler files files session.save_path /tmp /tmp session.serialize_handler php php session.use_cookies On On session.use_only_cookies Off Off session.use_trans_sid 0 0 ------------------------------------------------------------------------ [2008-11-07 12:27:47] vrana@php.net I can't reproduce this. Is the behavior same in PHP 5.2.6? Isn't it affected by register_globals? ------------------------------------------------------------------------ [2008-03-04 17:29:42] galaxy dot mipt at gmail dot com My apologize for that I am changing the category but there is still a bit of a problem with session store if one actually tries to put invalid stuff to $_SESSION, as I described. Also, is it possible to emerge a warning at some stage if an invalid key is put to $_SESSION - guess it is something worth to be done along with the notes in docs. ------------------------------------------------------------------------ [2008-02-13 18:27:20] jani@php.net This needs to be told in the manual. Even as $_SESSION and $HTTP_SESSION_VARS look different they're essentially same thing. (dunno how to say this better..just don't do it! :) ------------------------------------------------------------------------ [2008-02-05 23:02:13] galaxy dot mipt at gmail dot com Description: ------------ Looks like session data gets corrupted at serialization step if one attempts to store certain variables in session, namely HTTP_SESSION_VARS. As far as I understand it is a desired behavior that var with that name doesn't get saved in session (still it is *really* worth mentioning that in documentation on sessions), but it seems to have some side effects on successive variables passed to the session. Reproduce code: --------------- session_start(); print '<pre>'; print_r($_SESSION); print '</pre>'; $_SESSION['qwerty'] = 1; $_SESSION['HTTP_SESSION_VARS'] = 2; $_SESSION['ABC'] = 'qqq'; Expected result: ---------------- First call: Array ( ) Later calls: Array ( [qwerty] => 1 [ABC] => qqq ) Actual result: -------------- First call: Array ( ) Later calls: Array ( [qwerty] => 1 [i:2;ABC] => qqq ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=44057&edit=1

« previous php.doc.bugs (#1824) next »