Bug #12968 Updated: Session don't store after header("Location: ...")
| From: | yohgaki@php.net | Date: | Thu, 20 Dec 2001 03:22:09 +0000 |
| Subject: | Bug #12968 Updated: Session don't store after header("Location: ...") | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-74497@lists.php.net to get a copy of this message | ||
ID: 12968
Updated by: yohgaki
Reported By: tthiery@yahoo.de
Old Status: Open
Status: Feedback
Bug Type: Session related
Operating System: Linux
PHP Version: 4.0.6
New Comment:
Please test with 4.1.0 and latest CVS snapshot.
CVS snapshot source can be found
http://snaps.php.net/
(No windows binary)
If you don't have problem with latest CVS snapshot,
you can close your bug report by yourself.
Please report the result. When you update your bug
report, do not forget updating PHP version also.
Thank you
--
Yasuo
Previous Comments:
------------------------------------------------------------------------
[2001-08-27 18:37:36] tthiery@yahoo.de
Sorry, but no it doesn't help. The UPDATE Session query from site1 still run after the SELECT
Session query from site2.
------------------------------------------------------------------------
[2001-08-27 14:44:02] hholzgra@php.net
does ingnore_user_abort(true) help ?
------------------------------------------------------------------------
[2001-08-27 05:30:06] tthiery@yahoo.de
System:
Linux
PHP 4.06
Apache 1.3.19
mySQL 3.23.38
side1.php
session_start();
session_register("var1");
Header("location:page2.php);
side2.php
session_start();
session_is_register("logon") returns false;
I check the mySQL logs (i have a personal written session_handler, which works fine under a lot of
different systems with mySQL) and see following problem
side1.php: SELECT * FROM Session WHERE SessionID ...
.... script queries from side1.php
side2.php: SELECT * FROM Session WHERE SessionID ...
side1.php: UPDATE Session SET ... WHERE SessionID ...
.... script queries from side2.php
side2.php: UPDATE Session Set ... WHERE SessionID ....
instead of the normal:
side1.php: SELECT * FROM Session WHERE SessionID ...
.... script queries from side1.php
side1.php: UPDATE Session SET ... WHERE SessionID ...
side2.php: SELECT * FROM Session WHERE SessionID ...
.... script queries from side2.php
side2.php: UPDATE Session Set ... WHERE SessionID ....
i think the problem is that the header("Location: ...") works so fast over the intranet
network, that my old developer machine isn't fast enaugh to handle the script SQL statement,
before the new site request reach another process of the apache and query the session table.
the problem is that the buffer is flushed before the session related operations are done
What can i do against this behavior?
thanx
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=12968&edit=1