系统相关
首页 > 系统相关> > 如何使用PHP的实时反馈运行shell脚本?

如何使用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