![]() |
1
85
这对我很有用:
|
![]() |
2
35
这是一种显示shell命令实时输出的好方法:
您将需要此功能来防止输出缓冲:
不过,它在我尝试过的每台服务器上都不起作用,我希望我能提供一些建议,告诉你在PHP配置中应该寻找什么,以确定你是否应该在尝试让这种行为在你的服务器上起作用时拔出头发!还有人知道吗? 下面是纯PHP中的一个虚拟示例:
我希望这能帮助那些在谷歌上搜索过的人。 |
![]() |
3
6
下面介绍了使用现代HTML5服务器端事件解决此旧问题的更好方法: http://www.w3schools.com/html/html5_serversentevents.asp 例子: http://sink.agiletoolkit.org/realtime/console 代码: https://github.com/atk4/sink/blob/master/admin/page/realtime/console.php#L40 (在敏捷工具包框架中作为模块实现) |
![]() |
4
4
尝试此操作(在Windows计算机+WAMP服务器上测试)
|
![]() |
5
4
检查了所有答案,没有任何效果… 找到解决方案 Here 它在Windows上工作(我认为这个答案对在那里搜索的用户很有帮助)
|
![]() |
6
3
我在Windows上尝试过各种PHP执行命令,结果发现它们有很大的不同。
最好(最简单)的方法是:
因此,在C++程序中,你会做一些类似的事情(对于其他的解决方案, printf刷新问题 ):
在PHP中,您可以执行以下操作:
|
![]() |
7
2
首先检查是否 flush() 为你工作。如果有,很好,如果没有,可能意味着Web服务器出于某种原因正在缓冲,例如启用了mod_gzip。 对于类似ping的东西,最简单的技术是在php中循环,多次运行“ping-c 1”,并在每次输出后调用flush()。假设php被配置为在用户关闭HTTP连接时中止(这通常是默认设置,或者您可以调用ignore_user_abort(false)来确保),那么您也不需要担心退出ping进程。 如果真的有必要只运行子进程 一旦 并且不断地显示它的输出,这可能会更困难——您可能需要在后台运行它,将输出重定向到流,然后让PHP echo返回到用户,并散布常规的flush()调用。 |
![]() |
8
2
如果要通过php运行系统命令,请查看 the exec documentation . 不过,我不建议在流量大的站点上这样做,为每个请求分配一个进程是一个相当复杂的过程。有些程序提供了将进程ID写入文件的选项,这样您就可以随意检查和终止进程,但是对于诸如ping之类的命令,我不确定是否可能,请检查手册页。 只需在远程主机上打开您希望监听的端口(即,端口80用于HTTP)上的套接字,这样您就可以更好地了解用户区以及网络上的一切情况。 如果您试图输出二进制数据,请查看 php's header function 并确保设置正确的 content-type 和 content-disposition . 回顾 the documentation 有关使用/禁用输出缓冲区的详细信息。 |
![]() |
9
2
对于命令行用法:
如果要运行文件,可能需要先授予它执行权限:
|
![]() |
10
0
尝试更改php.ini文件设置“output_buffering=off”。您应该能够在页面上获得实时输出 使用系统命令而不是exec.。系统命令将刷新输出 |
![]() |
11
0
为什么不直接将输出导入日志文件,然后使用该文件将内容返回到客户机。不是很实时,但也许足够好? |
![]() |
Jason Steve · 实时gps reall需要数据库? 7 年前 |
![]() |
Naveen Attri · Android实时位置共享 7 年前 |
![]() |
Amin Ullah · EmguCv实时视频解码中的600毫秒延迟 7 年前 |
![]() |
Laveena · 连续无限实时流式音频信号,Python 7 年前 |
![]() |
Malerosa · 如何将数据库链接到我的Android应用程序? 7 年前 |