美文网首页
php popen异步执行php程序

php popen异步执行php程序

作者: 金星show | 来源:发表于2019-02-26 16:55 被阅读0次

popen()函数通过创建一个管道,调用fork()产生一个子进程

其中有两个参数:


image.png

pro.php

<?php
$start = time();
$process = array();
for($i=0;$i<5;$i++)
{
        echo $i.' opening ... '.chr(10);
        $process[$i] = popen('php '.dirname(__FILE__).'/run.php', 'r');
        //sleep(1);
}

echo "OK,start>>>>".PHP_EOL;
$data = [];
for($i=0;$i<5;$i++)
{
        while(!feof($process[$i])){
           $read = fread($process[$i],1024);
           if(trim($read)){
              array_push($data,$read);
           }
        }
        pclose($process[$i]);
}

$end = time();
$diff = $end - $start;
echo "计时{$diff}".PHP_EOL;
var_dump($data);

run.php

<?php
$data = ['time'=>date("YmdHis")];
sleep(1);
echo json_encode($data);

相关文章

网友评论

      本文标题:php popen异步执行php程序

      本文链接:https://www.haomeiwen.com/subject/kqfzyqtx.html