Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 572473
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T13:37:00+00:00 2026-05-13T13:37:00+00:00

I have a session handler class that calls session_write_close() at the end of the

  • 0

I have a session handler class that calls session_write_close() at the end of the script. This insures that even if a header() or exit() is issued the session data is saved.

public function __destruct()
{
    session_write_close();
}

However, I have noticed that for one of my AJAX pages TWO session updates are committed by the database layer.

My guess is that the [1] page loads and sends an [2] AJAX request. That [2] AJAX request must start the session before the [1] page has a chance to call session_write_close().

After the [2] AJAX page has loaded the session then the [1] page finally saves the session and then shortly after the [2] AJAX request saves it’s session – which overwrites the first one!

It might look like this:

[1] page loads session
[1] page sends output
[2] ajax loads session
[1] page saves session
[2] ajax sends output
[2] ajax saves session

What do I do to make sure one page isn’t loading a session before another has a chance to save the session?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T13:37:00+00:00Added an answer on May 13, 2026 at 1:37 pm

    The assumption was wrong.

    …session data is locked to prevent
    concurrent writes only one script may
    operate on a session at any time
    http://us.php.net/session_write_close

    In other words, you could be running 100 AJAX requests for a user at the same time and they would each wait their turn.

    My problem turned out to be an error in selecting the right session table column resulting in my sessions being re-created each load.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I currently have a custom session handler class which simply builds on php's session
I have a session class that needs to store session information in a MySQL
I have a class that defines the names of various session attributes, e.g. class
I have an NHibernate session. In this session, I am performing exactly 1 operation,
I have a web application that makes heavy use of the Session state to
Does a new SessionFactor y and Session object have to be created for each
I have set the FlushMode property on an NHibernate session to FlushMode.Never, but when
CFMX 8 Enterprise I have turned on the Use J2EE session variables setting under
Is it possible to have a post-mortem ( or post-exception ) debugging session in
I have an ASP.Net 2.0 application in which the Session_Start event is not firing

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.