Я знаю, что это очень старый вопрос, но я наткнулся на него, пытаясь подтвердить то, что прочитал ранее сегодня, после того, как столкнулся с тем же поведением.
Для моего приложения мы уже используемsession_start () и обрабатывают сеанс с помощью пользовательских обработчиков базы данных.Но мы все еще получали ошибки при записи данных в сеанс в различных AJAX-запросах.
Проблема с запуском параллельных AJAX-запросов, которые манипулируют данными сеанса, состоит в том, что PHP по умолчанию разрешает только одному сценарию иметь доступ к сеансу ввремя: с момента, когда он вызывает session_start (), до времени, когда он выходит или иным образом вызывает session_write_close ().Когда у вас одновременно происходит несколько запросов AJAX, которые необходимо записать в сеанс, они могут наступить друг на друга, и вы получите неполные данные.
Это объясняет это лучше, чем я: [http://konrness.com/php5/how-to-prevent-blocking-php-requests].
Мое конкретное решение состояло в том, чтобы хранить данные вне сеанса (в другом месте базы данных), чтобы другие запросы AJAX не наступали на мои изменения.