Php 捕获和显示exec/shell\u exec定期输出?
您可以轻松地使用Php 捕获和显示exec/shell\u exec定期输出?,php,Php,您可以轻松地使用exec()或shell\u exec()执行系统命令,如ls-l/var/www/mysite,然后输出命令的结果 如何执行和显示定期向控制台输出信息的命令的结果 您有一个简单的Python脚本。如果您从控制台运行脚本,它只需每隔10秒向控制台打印一些类型的信息,直到您强制退出脚本为止 如何使用PHP执行此python命令并以某种方式实时捕获输出并将其流式传输到浏览器中?这样的事情可能吗?我想可能会涉及到某种Ajax,但我不确定 我试过这样做: python myscript.
exec()
或shell\u exec()
执行系统命令,如ls-l/var/www/mysite
,然后输出命令的结果
如何执行和显示定期向控制台输出信息的命令的结果
您有一个简单的Python脚本。如果您从控制台运行脚本,它只需每隔10秒向控制台打印一些类型的信息,直到您强制退出脚本为止
如何使用PHP执行此python命令并以某种方式实时捕获输出并将其流式传输到浏览器中?这样的事情可能吗?我想可能会涉及到某种Ajax,但我不确定
我试过这样做:
python myscript.py > output.txt
然后我计划使用Ajax定期跟踪
output.txt
的内容,并在浏览器中显示。但是在强制退出脚本之前,output.txt
似乎没有添加任何内容。您看不到任何输出到output.txt
,因为它正在被缓冲。对于python,有一个选项可以使其成为行缓冲。从手册页:
-u Force the binary I/O layers of stdin, stdout and stderr to be unbuffered. The text I/O layer will still be
line-buffered.
因此,您的命令将变成:
python -u myscript.py > output.txt
对于PHP,该函数应该会对您有所帮助。看起来这是正确的方法,但我认为PHP仍然在缓冲一些东西。。。谢谢您的回复。@Jakobud,您是否尝试过在PHP脚本中手动调用
flush
?啊,我还没有尝试过。我正朝那个方向走,看看是否行得通。谢谢。请检查这个问题-,它可能具有所需的功能。