PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Tom Rawcliffe's Blog: session_start() blocking in php

Note: This article was originally published at PHPDeveloper on 26 May 2011.
PHPDeveloper

Tom Rawcliffe has a new post to his blog talking about an issue he found when trying to optimize a site for his company's systems - a problem with the blocking sessions caused when the pages were loaded.

Now I didn't know it but is seems that php's session handling is blocking on a per request basis. Kinda makes sense if you think about it, that if two requests simultaneously try and change a session variable then you would get constancy issues. So php handles this by making session_start() a blocking action and will wait for any other request to either finish or close the session using session_write_close().

The only reliable fix he found for the issue was to only selectively use the session in certain circumstances (or on certain pages) and closing it out when you were done with it.