使用PHP加载/在标题之前输出数据

时间:2013-05-31 22:46:57

标签: php nginx header

我正在构建一个缓存重新生成的东西,为了进行调试,我需要在调用它时立即看到每个echo调用。我使用PHP。

所以基本上当我调用它时,它会在几个对象上循环,检查缓存版本并输出成功或失败消息(在调试模式下)。

例如,在使用curl调用页面时,我需要能够获得实时输出。

我使用ob_ PHP函数玩了一点但似乎没什么用。

ob_start();
echo '[X] Failed to find a location using geocoder for: ' . $searchString . " STATUS: $response->status\n";
ob_end_flush();

但我不确定我是否完全明白它是如何运作的。

作为网络服务器,我使用nginx php-fpm

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我使用flush方法好运。这会尝试将当前输出一直推送到浏览器。关键字是“尝试”。 ob_ functions和flush的最大问题是浏览器具有安全功能,有时在页面加载完成之前不会呈现此信息。这是出于安全目的,所以我读过。

命令是

echo $yourvar
flush();

另一种解决方案是通过命令行/终端运行您的php脚本。终端没有安全功能,无法在显示数据时暂停。当我运行脚本来更新数据库时,我通常会通过终端运行它们,这样我就可以看到输出,而不依赖浏览器让它通过。