php其实有一个异步运行的方法,做一个简单的证明示例如下:
异步运行的示例
示例:用1.php异步运行t.php,
1.php
for($ii=1;$ii<4;$ii++){
$xian=[];
for($i=1;$i<10;$i++){
$xian[]=popen("php E:/t.php -i {$i} &","r");
}
foreach($xian as $k=>$vv){
$tt = fread($xian[$k],64);
echo $tt;
pclose($xian[$k]);
}
}t.php
$pa = getopt('i:');
if(isset($pa['i'])){
echo $pa['i'];
}else{
$pa['i']=1000;
}
sleep(rand(1,13));
file_put_contents("E:/techo.txt", "{$pa['i']}-sleep进程结束时间:".date("Y-m-d H:i:s", time()) . "\n", FILE_APPEND);分解:
打开t.php,会显示各个异步执行的结果结束的时间。
