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,会显示各个异步执行的结果结束的时间。