ID: 20449
Comment by: matthew at e-businesscoach dot com
Reported By: josh at zebotech dot com
Status: No Feedback
Bug Type: Session related
Operating System: redhat 7.3
PHP Version: 4.3.0-dev
New Comment:
I am experiencing what I believe to be the same issue in PHP 4.3.2.
Here is my system:
Linux 2.4.20-6 #1 i686
Apache/1.3.27 (Unix) PHP/4.3.2 mod_ssl/2.8.14 OpenSSL/0.9.7b
PHP configured as an apache shared module via APXS:
./configure --with-mysql=/home/mysql --with-apxs=/www/bin/apxs
--enable-track-vars --enable-ftp --enable-exif --with-gd
--with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib
--with-zlib-dir=/usr/lib --with-imap=/usr/lib --with-kerberos
--with-imap-ssl
Basically I am saving the contents of a shopping cart as a
multidimensional associative array inside an object which is stored as
a session variable, i.e:
class User
{
// -- snip --
var $cart = Array();
// -- snip --
// constructor function
function User ($uid, $password)
{
// -- snip --
// lookup some data in db and populate member vars...
}
}
$ses_cust =& new User(...);
$ses_cust->cart[$productid][$optionid]["qty"] = $qty;
$ses_cust->cart[$productid][$optionid]["price"] = $qty;
session_register("ses_cust");
etc. etc.
Most of the time there are no problems, but in an unpredictable manner
sometimes in the session data the $cart array ends up null. It has
definitely not been reset within any of the code. When the error
occurs, only the $cart array is lost, without the session being lost or
other non-array member data being lost. It does not even end up as an
empty array but totally nulled out.
The serialized data looks like this:
s:4:"cart";N
instead of
s:4:"cart";a:0:{}
It was indicated in this thread that this issue was fixed in PHP 4.3.2,
but no other details were given. Could someone elaborate on what was
the problem and what was fixed, and do you consider this bug completely
solved?
Thank you very much for all the time you invest in PHP, it does not go
unappreciated, and if there is any more data I can provide I will do my
best to do so.
Regards,
Matthew Kauffman
Previous Comments:
------------------------------------------------------------------------
[2003-06-19 19:50:31] sansoy at gsn dot com
We just started having random session errors when we compiled with
--xmlrpc. We're running PHP 4.3.0 and APACHE 1.3.27 .
The specific error we were seeing is Fatal error:
session_start()[function.session-start}: Failed to initialize session
module in /home/www/test.php on line 2
After recompiling without --xmlrpc the random session error
disappeared.
------------------------------------------------------------------------
[2003-06-10 07:22:36] phpbugs at virtua dot ch
We are still having the same issue here with php-4.3.3 ... Currently
testing latest snapshots. Config : FreeBSD 4.7 UP, Apache 1.3.27,
standard /tmp session handling. One of our developers even tried a
print_r($_SESSION) and found part of the php source file in it !!!!!!
There seem to be some leakage somewhere !!!!!
------------------------------------------------------------------------
[2003-06-09 08:44:10] [EMAIL PROTECTED]
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.
------------------------------------------------------------------------
[2003-06-02 17:09:32] [EMAIL PROTECTED]
This should be fixed in PHP 4.3.2, so please give it a try.
------------------------------------------------------------------------
[2003-06-02 14:44:35] radek at pinkbike dot com
I also have seen behaviour of missing session data. I have detected
this in the custom shopping cart I have written. Every 20 or 30 orders
we get a "blank" order. This blank order is a result of the session
cart is not picked up on the last stage of the purchase process. I
went through my code a million times to try to figure out how I could
of caused this but reading this bug report I starting to think it maybe
a result of php session/serialization. Like the other person with the
shopping cart stated, who knows how many users don't even make it to
the last step and their cart disappears.
I store associative arrays in the session
I run on a dual CPU intel box
The site is relatively high load - 3 million hits a day
I have not been able to reproduce the problem myself
It has been happening regularly since January when i put up the
software - it happens on a few versions of php since Jan 2003
What are options here? Any documentation, warnings about what not to
store in php sessions?
Should I be writting my own handler/serializer?
here are the box details
Apache/1.3.26
PHP Version 4.3.1
System Linux superlight 2.4.20-xfs #2 SMP Mon Apr 7 21:06:32 CDT 2003
i686
Build Date May 1 2003 00:21:10
Configure Command './configure' '--with-apxs=/usr/bin/apxs'
'--with-mysql=/usr/local/mysql' '--with-openssl' '--with-zlib'
'--with-mcrypt' '--enable-shmop' '--enable-sysvshm' '--enable-sysvsem'
'--enable-mbstring' '--with-gd' '--with-png-dir=/usr'
'--with-jpeg-dir=/usr' '--enable-mbstring' '--with-curl=/usr/local'
'--enable-exif'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib/php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety disabled
Registered PHP Streams php, http, ftp, https, ftps, compress.zlib
------------------------------------------------------------------------
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/20449
--
Edit this bug report at http://bugs.php.net/?id=20449&edit=1