Параллельно-Ajax-запросы против блокировки Apache-Session
Данные сеанса обычно сохраняются после ваш сценарий завершен , но, поскольку данные сеанса заблокированы, чтобы предотвратить одновременную запись только один сценарий может работать с сеансом в любое время .
Когда, например, используя наборы кадров вместе с сеансами, вы будете испытывать загрузку кадров один за другим из-за этой блокировки. Вы можете сократить время, необходимое для загрузки всех кадров , завершив сеанс как можно скорее .
Так что вы можете использовать сессии в ajax-скриптах с
session_start();
(возможно, обрабатывается автоматически), за которым следует (как можно скорее) session_write_close();
session_write_close();
завершит текущий сеанс и сохранит данные сеанса.
Но: session_id()
будет по-прежнему доставлять правильный (текущий) PHPSESSID, поэтому вы сможете снова получить доступ для записи в текущий сеанс, просто выполнив session_start()
снова в любое время, когда вам это нужно. .
Я использую его таким образом во всех моих сценариях ajax для реализации обработки сессий и , разрешающей параллельный запрос (с прерыванием) во всех браузерах