#15983 [Com]: session variables lost between pages

From: Date: Fri, 30 Aug 2002 18:45:07 +0000
Subject: #15983 [Com]: session variables lost between pages
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-18279@lists.php.net to get a copy of this message
ID: 15983 Comment by: pratesi@telug.it Reported By: sl@scrooge.dk Status: Feedback Bug Type: Session related Operating System: Debian/Linux mips platform PHP Version: 4.1.2 and 4.2.0 New Comment: Debian Woody 3.0r0 PPC, PHP 4.2.2 --------------------------------- bash$ find . -name php_config.h ./debian/php4-dev/usr/include/php4/main/php_config.h ./apache-build/main/php_config.h ./cgi-build/main/php_config.h In all these 3 files, HAVE_PREAD is defined and set to 1: /* Define if you have the pread function. */ #define HAVE_PREAD 1 BTW, I could try to compile PHP 4.1 or 4.2 on a Linux PPC box based on glibc 2.1 and check if the same problem occurs also with glibc 2.1. Could this check be useful? Previous Comments: ------------------------------------------------------------------------ [2002-08-30 12:14:18] kalowsky@php.net Can any of you check your php_config.h file and see if the HAVE_PREAD variable is defined? ------------------------------------------------------------------------ [2002-08-30 10:06:12] sl@scrooge.dk I will try to make some test this weekend om the MIPS platform. ------------------------------------------------------------------------ [2002-08-30 06:54:12] pratesi@telug.it I can make all tests that you want as I'm the sys admin of the computers at hand. But if tests affect the use of apache and php, a bit of patience is needed, as the computer currently using that workaround is a production server, hence I need to install and set up an unsed computer of the rack. An analogous consideration holds true for the Sparc I'm using :-) If you prefer, we can continue with private mailing. Which tests should I perform on the pread() ? Should I open a bug report for glibc 2.2 ? Thank you for your time. ------------------------------------------------------------------------ [2002-08-29 16:30:17] kalowsky@php.net The problem with the suggested work around is fairly straight forward. from the ext/session/config.m4: if test "$PHP_SESSION" != "no"; then AC_CHECK_FUNCS(pread pwrite) This asks libtool/autoconf to check the system for the functions pread and pwrite. If they are found by libtool/autoconf (mostly autoconf), the HAVE_PREAD and HAVE_PWRITE flags are set. If your work around is actually working, it would suggest to me that pread doesn't work properly on this non-i386 machines. Is there any chance you can look into the pread/pwrite functionality of these non-i386 machines? ------------------------------------------------------------------------ [2002-08-29 12:14:29] neuj60@yahoo.de Look at these examples, refresh the same file: Example 1 works fine: --------- <?php GLOBAL $HTTP_SESSION_VARS; session_start(); ;session_register('AVAR'); $HTTP_SESSION_VARS['AVAR'] += 1; print "<p>variable={$HTTP_SESSION_VARS['AVAR']}</p>"; ?> Example 2 doesn't work correctly: --------- prints always "count=1" and thats stored in the session file: <?php session_start(); GLOBAL $count; session_register("count"); $count++; print "<p>count=$count</p>"; $count=10; ?> For scalars Ex. 1 would be ok, but how to deal with objects? I'm using PHP 4.2.2 (same was with 4.2.1) on Windows2000. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/15983 -- Edit this bug report at http://bugs.php.net/?id=15983&edit=1

« previous php.bugs (#18279) next »