Bug #15506: _SESSION not being created
| From: | vivers at one dot net | Date: | Mon, 11 Feb 2002 15:45:17 +0000 |
| Subject: | Bug #15506: _SESSION not being created | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-136@lists.php.net to get a copy of this message | ||
From: vivers@one.net
Operating system: Linux RH7
PHP version: 4.1.1
PHP Bug Type: Session related
Bug description: _SESSION not being created
The auto global _SESSION is not being created with session.auto_start on
for my Linux Apache/PHP installation. It works however when running on my
Win98 laptop using Apache and the PHP 4.1.1 binary from php.net.
I ran this script on both platforms:
<?php
print '<pre>'; print_r(array_keys($GLOBALS)); print '</pre>';
?>
Win32 output:
Array
(
[0] => HTTP_POST_VARS
[1] => _POST
[2] => HTTP_GET_VARS
[3] => _GET
[4] => HTTP_COOKIE_VARS
[5] => _COOKIE
[6] => HTTP_SERVER_VARS
[7] => _SERVER
[8] => HTTP_ENV_VARS
[9] => _ENV
[10] => HTTP_POST_FILES
[11] => _FILES
[12] => _REQUEST
[13] => HTTP_SESSION_VARS
[14] => _SESSION
[15] => GLOBALS
)
Linux output:
Array
(
[0] => HTTP_POST_VARS
[1] => _POST
[2] => HTTP_GET_VARS
[3] => _GET
[4] => HTTP_COOKIE_VARS
[5] => _COOKIE
[6] => HTTP_SERVER_VARS
[7] => _SERVER
[8] => HTTP_ENV_VARS
[9] => _ENV
[10] => HTTP_POST_FILES
[11] => _FILES
[12] => _REQUEST
[13] => GLOBALS
)
I've verified that the php.ini files are identical (minus path
differences). I have register_globals Off and transparent SID enabled.
PHP 4.1.1 configuration:
./configure --enable-trans-sid --with-apxs=/usr/local/apache/bin/apxs
--with-imap --with-imap-ssl=/usr/local/ssl --with-openssl=/usr/local/ssl
--with-kerberos=/usr/kerberos
Apache 1.3.23 with mod_ssl
PHP application in /usr/local/apache/zeus with appropriate VirtualHost and
Directory directives in Apache httpd.conf
/usr/local/apache/zeus contains this .htaccess file
php_flag register_globals off
php_flag short_open_tag off
php_flag asp_tags off
# allow_call_time_pass_reference has been deprecated but xml_set_object
requires it
php_flag allow_call_time_pass_reference on
php_flag session.use_trans_sid on
php_value session.save_handler files
php_value session.save_path /usr/local/apache/zeus/sessions
php_flag session.auto_start on
php_flag session.use_cookies off
php_value session.name ZEUSSID
php_value session.cookie_lifetime 0
php_value session.cookie_path /
php_value session.cache_limiter nocache
php_value session.serialize_handler php
php_value include_path
/usr/local/apache/zeus/php/xAPP;/usr/local/apache/zeus/php
<Files app>
Forcetype application/x-httpd-php
</Files>
I have AllowOverride set to All in the Apache conf file to allow all this
to work.
I have verified the permissions on the sessions directory. The owner of
the directory is the Apache user. The sessions are being created but no
data is being saved in them--$_SESSION is not available.
My scripts are built on auto-start and using $_SESSION to keep things as
simple as possible.
I've tried removing the .htaccess file, using the default session config
(from the distribution) and using explicit session_start() at the top of
the page and still $_SESSION is not created (works on Win32 though).
Added a bogus value to $_SESSION after session_start() does not work
either--still 0 byte session files. Only creates a normal PHP hash called
$_SESSION. It appears that the session module is not registering
$_SESSION or $HTTP_SESSION_VARS as globals.
Thanks,
Vic Ivers
--
Edit bug report at http://bugs.php.net/?id=15506&edit=1
--
Fixed in CVS: http://bugs.php.net/fix.php?id=15506&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=15506&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=15506&r=needtrace
Try newer version: http://bugs.php.net/fix.php?id=15506&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=15506&r=support
Expected behavior: http://bugs.php.net/fix.php?id=15506&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=15506&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=15506&r=submittedtwice