PHP實現異步執行程序
需要異步執行的原因
在進程執行一個腳本程序的時候,往往需要等待腳本程序執行結束後返回結果,才能往下執行,如果是耗時操作可能導致超時的情況
方法
popen函數
使用
popen.php
$sCmd = "php sleep.php";
file_put_contents("echo", "開啓popen時間:".date("Y-m-d H:i:s", time()) . "\n", FILE_APPEND);
$hResource = popen("$sCmd &", "r");
pclose($hResource);
file_put_contents("echo", "執行popen時間:".date("Y-m-d H:i:s", time()) . "\n", FILE_APPEND);
sleep.php
sleep(60);
file_put_contents("echo", "sleep進程結束時間:".date("Y-m-d H:i:s", time()) . "\n", FILE_APPEND);
echo文件
由此可以看出,popen是異步執行的函數