如何使用PHP的实时反馈运行shell脚本?
作者:互联网
在向浏览器提供持续/实时反馈的同时,如何从PHP执行Shell脚本?
我从system功能文档了解:
The system() call also tries to automatically flush the web server’s
output buffer after each line of output if PHP is running as a server
module.
我不清楚将其作为“服务器模块”运行的含义.
示例PHP代码:
<?php
system('/var/lib/script_test.sh');
示例shell代码:
#!/bin/bash
echo "Start..."
for i in {1..10}
do
echo "$i..."
sleep 1
done
echo "Done."
它的作用:等待大约10秒钟,然后刷新到输出缓冲区.
我要这样做:在每行输出之后刷新到输出缓冲区.
解决方法:
可以使用popen()完成此操作,它为您打开的任何进程的标准输出提供了句柄.可以使用ob_flush()将数据块发送到客户端,可以使用XHR显示数据.
标签:shell-exec,shell,php 来源: https://codeday.me/bug/20191101/1984477.html