Nginx закрывает поддерживающее соединение с php

Всем привет

У меня проблемы с сервером nginx. Я настроил nginx с поддержанием активности соединения.

keepalive_timeout 65;

И подключайтесь к серверу с постоянным подключением, я отправляю много запросов на сервер в одном и том же соединении.

Я хочу закрыть постоянное соединение с php. Команда php exit и die закрывает ответ, а не соединение. И клиент может повторно отправить запрос к серверу в том же соединении.

просто я хочу закрыть постоянное соединение с php

Я использую эту команду,

заголовок ('Соединение: закрыть');

Но не повлияло, связь все еще жива

Как закрыть http-соединение с php


person Taleh Ibrahimli    schedule 26.03.2013    source источник
comment
ваш вопрос непонятен, в чем ошибка?   -  person    schedule 26.03.2013
comment
Я подключаюсь к серверу из cliend и отправляю запрос, а php запускаю этот код. заголовок ('Соединение: закрыть'); Но этот php-код не закрывает соединение, соединение все еще живое. Я использую постоянное соединение от клиента к серверу   -  person Taleh Ibrahimli    schedule 26.03.2013
comment
Можете ли вы показать нам конфигурацию nginx, код php и конфигурацию php-fpm (поскольку вы используете nginx, я думаю, вы также используете php-fpm)   -  person    schedule 26.03.2013


Ответы (2)


Я ТАК долго искал ответ на этот вопрос.

В PHP вам нужно позвонить:

fastcgi_finish_request();
person Jordie    schedule 01.07.2015
comment
Я искал это часами. - person Brad Bell; 18.09.2015
comment
Спасибо! Это решило большую проблему, с которой мы столкнулись с платежным интерфейсом и перенаправлением на веб-страницу банка. - person Jens Bradler; 19.10.2015

Из этого ответа servfault кажется, что вы можете попробовать это, разрешив этот заголовок в обработчике nginx fastcgi.

fastcgi_pass_header Connection-close;
person regilero    schedule 27.03.2013
comment
Я использую это, но соединение все еще живое. Я использую постоянное соединение - person Taleh Ibrahimli; 03.07.2013
comment
У вас есть заголовок Connection: close в заголовках ответа HTTP? с пробелом после : . Попробуй с fastcgi_pass_header Connection-close;, покажи заголовки. - person regilero; 03.07.2013