Как сразу отправлять заголовки HTTP / 2 при использовании PHP-FPM и Apache - PullRequest
3 голосов
/ 28 марта 2019

Кажется, я не могу сразу отправлять заголовки из PHP при работе в режиме FPM.Они отправляются только в конце запроса вместе с содержимым.

У меня есть установка Apache + PHP-FPM.Я отключил сжатие вывода в PHP и Apache.

Я даже изучил поток TCP-соединений, используя tcpdump -nn -i any -A -s 0 port 9000, и я видел, что PHP не отправляет заголовки в Apache до конца, поэтому проблема в настройке PHP.

См. Ниже тестовый код, который я использую.


header('Status: 200 OK');
header('Content-type: text/html; charset=utf-8');

header('Link: </src/app/src/App/Ui/Layout/default.css?__mtime=1553684041>; rel=preload; as=style;', false);

flush();

header('Test: 1', false);
sleep(5);
header('Test2: 2', false);

echo 'test';

Я ожидаю, что заголовок Link: будет отправлен до конца запроса, то есть до строки 'test'но это не так.Все заголовки отправляются в конце запроса, после 5 второй задержки.

Что я делаю не так?

...