PHP如何响应HTTP请求并继续处理?

时间:2012-06-18 16:25:15

标签: php http response.redirect http-status-code-200

我正在使用支持网关的API来执行回调请求。 当发出回叫请求时,网关希望我以“OK”响应。 没有更多或更少。这并不意味着HTML渲染响应。只是一个包含这2个字母的回调文件。请注意,这并不意味着它需要HTTP状态代码200 / OK ...它需要“OK”一词的实际数据(不是标题)。

所以这不起作用:

<html><body>OK</body></html>

这将有效:

<?php echo "OK"; ?>

然而,在我发回OK之后,我需要在服务器端做一些事情,然后将浏览器页面重定向到另一个页面。但是当我尝试做的时候:

<?php
echo "OK";
header('Location: http://www.store.com/success.php');
exit;
?>

网关忽略回显“OK”,而是读取我重定向到的success.php页面的html。

那么我怎样才能发回OK,但继续在我这边做事?

由于

4 个答案:

答案 0 :(得分:1)

您无法发送内容然后重定向。重定向标头设置必须单独完成。

答案 1 :(得分:0)

您可以尝试使用flush();强制php写出OK。

答案 2 :(得分:0)

使用javascript或元刷新标记将重定向移动到客户端是否可以接受?

答案 3 :(得分:0)

在发送OK之前,您可以通过命令行调用PHP,使PHP像多线程一样。