【发布时间】:2012-04-05 05:16:10
【问题描述】:
如何在向浏览器提供持续/实时反馈的同时从 PHP 执行 shell 脚本? 我从system函数文档中了解到:
system() 调用也会尝试自动刷新 Web 服务器的 如果 PHP 作为服务器运行,则在每行输出之后输出缓冲区 模块。
我不清楚将其作为“服务器模块”运行是什么意思。
示例 PHP 代码:
<?php
system('/var/lib/script_test.sh');
示例外壳代码:
#!/bin/bash
echo "Start..."
for i in {1..10}
do
echo "$i..."
sleep 1
done
echo "Done."
这是做什么的:它将等待大约 10 秒,然后刷新到输出缓冲区。
我想要这样做:在每行输出后刷新到输出缓冲区。
【问题讨论】:
-
服务器模块 = PHP 嵌入在网络服务器中(例如 mod_php),而不是在 'cgi' 模式下运行。
标签: php shell shell-exec