【发布时间】:2011-05-08 18:46:11
【问题描述】:
好的,所以我有一个运行在一个漂亮的小无限循环中的 PHP 脚本(不用担心)。我将它用作可以从任何计算机访问的页面来监视我的数据库统计信息。每 2 秒,它会从数据库中获取统计数据并将其显示在屏幕上。
现在,这在我的 Windows 机器上的 XAMPP 上运行良好。我试图让它在我的 linux 网络服务器上运行,使用 PHP 5.3.5 运行 apache2,但由于某种原因它实际上不会显示任何东西(它不会进入空白页面,它只是停留在页面上我在进入监控页面之前,但“工作”轮子在旋转)。我觉得这是某种缓存的东西,它不想显示页面,直到它完成运行脚本(尽管我需要它)。我每 2 秒使用一次 flush() 和 ob_flush(),并确保我的 php.ini 文件中的 output_buffering = off 和 zlib.output_compression = off。
我意识到这个问题似乎被问了很多,但我已经尝试了所有我能找到的关于这个问题的方法,但最终失败了。
注意:就像我说的,这在我使用 apache 和 PHP 5.3.6 安装的 XAMPP 上运行良好。我的问题不是关于如何找到替代品,而是更多关于为什么它在那里工作而不是在我的 linux 网络服务器上。
【问题讨论】:
-
这并不能回答你的问题,但是为什么你更喜欢这个而不是在 2 秒后用 JS 重定向到自身而不是睡觉呢?这种方法不会出现冲洗问题。
-
我建议寻找其他方法来返回数据。正如建议的那样,刷新元/Javascript 或者通过控制台脚本和 SSH 会话来执行此操作。你返回什么数据库数据?
标签: php infinite-loop flush