【发布时间】:2012-12-04 18:24:28
【问题描述】:
我想在其余代码在 php 脚本中执行之前将 http 状态(200 OK)发送到调用脚本。对于发送状态码,我使用的是 HTTP/1.1 200 OK,但它在整个脚本执行完成后发送状态,这使得调用脚本等待。我不确定这是否可能。有什么帮助吗?
详细:假设我有两个脚本,a.php 和 b.php。 a.php 正在调用 b.php 并等待 http 状态,如果是 200 则继续执行其他操作。我希望 b.php 脚本在被调用后立即发送回 200 响应,然后继续使用自己的代码。
谢谢!
编辑: 在阅读了 cmets 之后,我明白我想做的是一个坏主意。但是,让我说一下我为什么这么想,并且可以做这样的事情。
a.php 将有一个网络界面,人们可以在其中上传他们的图像,上传完成后 a.php 调用 b.php 使用这些图像进行一些处理。我希望 a.php 继续而不是挂起/等待 b.php 完成,以防 b.php 失败,我想我可能能够“推送”一个错误,以便 a.php 可以提示用户失败.应该使用不同的线程吗?
【问题讨论】:
-
在你做任何事情之前,你怎么知道状态是否正常?如果状态为always OK 并且您并不真正关心结果,则您的其他脚本可以在后台执行请求。那么响应何时到来并不重要。
-
采用这种设计,如果 B 失败,那么 A 仍会收到 200 并继续进行,就好像没有发生错误一样。这使得检查状态变得毫无意义。
-
请看已编辑的问题,我想我应该使用线程,有什么建议吗?
-
如果您确实选择使用 NodeJS,请随时联系我。我非常乐意帮助您入门。
标签: php http http-headers