Чтение "разбитых" данных POST в PHP - PullRequest
4 голосов
/ 03 апреля 2012

Я пытаюсь прочитать данные POST из запроса с помощью «Transfer-Encoding: chunked» во время их отправки, но не могу запустить сценарий, пока все данные не будут получены, возможно ли заставить PHP реагировать на частичный запрос по мере его поступления?

Использование PHP 5.3.8 с Apache.

1 Ответ

4 голосов
/ 03 апреля 2012

Текущий API-интерфейс Apache не позволяет вызывать обработчик ответа до полного получения запроса.Ни один модуль (mod_php, mod_cgi и др.) Не может запустить обработку и ответить на запрос до фазы обработчика , и ядро ​​Apache не достигает этой фазы до тех пор, пока не будет обработан запросбыл получен полностью, и предварительная проверка / анализ были завершены.

Отправка фрагментированного потока в качестве запроса является необычной, обычно что-то вроде этого является ответом.HTTP - это протокол, предназначенный главным образом для доставки контента «один ко многим» - HTTP-сервер ожидает, что он будет обслуживать контент для многих клиентов, а не для того, чтобы многие клиенты доставляли ему контент.Обычно для этого вы вызываете на сервере скрипт, который будет подключаться к удаленному потоку (будьте инициатором запроса).

Что именно вы пытаетесь сделать?Какой контент вы пытаетесь доставить?У вас есть контроль над обоими концами соединения?

...