I have ocassionally detected a strange problem with PHP sessions.
When I am running two PHP scripts using SAME session ID, second script is stuck until first one is comp
I also found quite simple solution for this problem. We can use session_write_close();
to unlock session file in script 1, then we can make any file_get_contents()
, curl_exec()
etc without any worries and after these operations turn session back by session_start()
. Checked by myself, works as charm!
Yes, this is called "session locking" and is normal in PHP.
One solution is not not use sessions, just set cookies for your required persistent information.
Another solution is to implement your own session handler:
http://php.net/manual/en/session.customhandler.php
A detailed walkthrough about custom MySQL session handlers is here:
http://phpmaster.com/writing-custom-session-handlers/