Могу ли я «отбросить» PHP-запрос без ответа? - PullRequest
4 голосов
/ 16 января 2009

Я не совсем уверен, что это возможно изнутри PHP или даже протокола HTTP. Можно ли получить скрипт PHP для запуска, когда он запрашивается, но затем сценарий сбрасывает соединение? Не отвечая?

Надеюсь, мой вопрос имеет смысл.

(я использую Apache)

Ответы [ 5 ]

6 голосов
/ 16 января 2009

Когда вы обслуживаете php через Apache, всегда будет ответ http. Вызов exit просто остановит обработку php, но не остановит Apache. В вашем случае лучше всего отправлять http-код ответа, отличный от 200 (ОК). Например, 404 или 500. Проверьте характеристики , чтобы найти тот, который соответствует вашей ситуации.

Вы отправляете http-ответ из php, используя:

<?php
  header("HTTP/1.0 404 Not Found");
  exit;
3 голосов
/ 16 января 2009

Если вы не хотите отправлять какие-либо данные вообще , используйте спящий режим в цикле. В конце концов, клиентский тайм-аут завершится и закроет соединение.

3 голосов
/ 16 января 2009

Вы можете использовать exit() или die() в сценарии, чтобы остановить выполнение сценария, это будет делать то, что вы хотите?

1 голос
/ 16 января 2009

Это зависит от программного обеспечения, которое вы используете. Например, Apache завершает любые сценарии, как только соединение закрывается.

1 голос
/ 16 января 2009

Почему вы хотите это сделать? Конечно, вы должны отправить какой-то код ошибки HTTP вместо этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...