【发布时间】:2010-10-01 18:47:52
【问题描述】:
我不完全确定这在 PHP 甚至 HTTP 协议中是否可行。是否可以在请求时接收 PHP 脚本以运行但脚本会断开连接?不回复?
希望我的问题有意义。
(我正在使用 Apache)
【问题讨论】:
-
我可能会尝试睡眠的东西。有没有更正式的方式不需要任何资源?
我不完全确定这在 PHP 甚至 HTTP 协议中是否可行。是否可以在请求时接收 PHP 脚本以运行但脚本会断开连接?不回复?
希望我的问题有意义。
(我正在使用 Apache)
【问题讨论】:
当你通过 Apache 服务 php 时,总会有一个 http 响应。调用 exit 只会停止 php 的处理——而不是停止 Apache。在您的情况下,正确的做法可能是发送 200(OK)以外的 http 响应代码。例如 404 或 500。检查 the specs 以找到适合您的情况。
你从 php 中发送一个 http 响应,使用:
<?php
header("HTTP/1.0 404 Not Found");
exit;
【讨论】:
如果您根本不想发送任何数据,请在循环中使用睡眠。最终客户端会超时并关闭连接。
【讨论】:
您可以在脚本中使用exit() 或die() 来停止脚本执行,这样可以达到您的目的吗?
【讨论】:
您为什么要这样做?您确实应该发送某种 HTTP 错误代码吗?
【讨论】:
这取决于您使用的软件。例如,一旦连接关闭,Apache 就会终止任何脚本。
【讨论】: