php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #12968 Session don't store after header("Location: ...")
Submitted: 2001-08-27 05:30 UTC Modified: 2002-01-27 06:41 UTC
From: tthiery at yahoo dot de Assigned:
Status: Closed Package: Session related
PHP Version: 4.0.6 OS: Linux
Private report: No CVE-ID: None
 [2001-08-27 05:30 UTC] tthiery at yahoo dot 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

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-08-27 14:44 UTC] hholzgra@php.net
does ingnore_user_abort(true) help ?
 [2001-08-27 18:37 UTC] tthiery at yahoo dot de
Sorry, but no it doesn't help. The UPDATE Session query from site1 still run after the SELECT Session query from site2.
 [2001-12-19 22:22 UTC] yohgaki@php.net
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


 [2002-01-09 02:06 UTC] lobbin@php.net
No feedback. Closing.
 [2002-01-27 06:41 UTC] tthiery at yahoo dot de
Linux
PHP 4.1.1
Apache 1.3.20
mySQL 3.23.38
Same project
Same old developer machine
no bug any more

thanx for your help and sorry for no feedback (no time for private project)
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 25 22:01:29 2024 UTC