Встала задача, при ajax запросе выдавать клиенту только необходимые данные и продолжить выполнение php кода уже в фоне. Так как сервер используется Apache, то был реализован следующий код:
ob_start();
echo json_encode($info); //отдаем клиенту нужные данные
$contentLength=ob_get_length();
header('Connection: close');
header('Content-Length: ' . $contentLength);
ob_end_flush();
ob_flush();
flush();
//продолжаем выполнение
На первый взгляд все работает корректно, сервер молниеносно отдает ответ клиенту и дальше выполняет свою задачу. Но вся проблема в том, что когда мы делаем второй запрос к серверу, мы не получаем ответа, пока не выполнится код из предыдущего запроса.
Я всегда считал что на каждый новый запрос создается отдельный экземпляр php, или я что-то не так понимаю?
Как правильно реализовать данное решение?