Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP shell到浏览器的大输出(100行)_Php - Fatal编程技术网

PHP shell到浏览器的大输出(100行)

PHP shell到浏览器的大输出(100行),php,Php,我正在尝试执行一个shell脚本,它将有100多行,是一个动态数据。 如何在shell执行时将每一行打印到浏览器。 这是我尝试的方法,但它不起作用 <?php ob_start(); echo "<pre>"; system("/var/www/html/shell_script.sh -e <arg1>"); ob_flush(); flush(); ?> 但是下面的代码正在运行,因为我正在循

我正在尝试执行一个shell脚本,它将有100多行,是一个动态数据。 如何在shell执行时将每一行打印到浏览器。 这是我尝试的方法,但它不起作用

<?php
    ob_start();  
    echo "<pre>";  
    system("/var/www/html/shell_script.sh -e <arg1>");  
    ob_flush();  
    flush();  
?>

但是下面的代码正在运行,因为我正在循环



请告诉我如何在shell执行时将其输出到浏览器。

可能尝试通过AJAX更新页面(将数据输出到文件并每秒发出AJAX请求…)。我使用exec()来处理这些东西。。。来自PHP manual fpr flush()命令:Apache的服务器模块(如mod_gzip)可能会自行进行缓冲,这将导致flush()不会立即将数据发送到客户端。如果mod_zip存在问题,但它如何与for loop一起工作?我也尝试了exec,但没有打印到浏览器。你能解释一下AJAX吗?如何使其工作?在后台运行脚本:“/var/www/html/shell_script.sh-e>output.txt”,并在每个ajax请求中打开output.txt文件并搜索新行。。。
<?php
    ob_start();
    for($i=0;$i<40;$i++)
    {
        echo 'printing...<br />';
        ob_flush();
        flush();
        ob_end_flush();
        usleep(300000);
    }
?>