Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Melaksanakan Proses PHP yang Memakan Masa di Latar Belakang Tanpa Menyekat Pengguna?
Melaksanakan Proses Latar Belakang dalam PHP
Melaksanakan proses yang memakan masa, seperti penyalinan direktori, tanpa menghentikan pengalaman pengguna boleh menjadi satu cabaran. Artikel ini memperkenalkan penyelesaian yang membolehkan tugasan sedemikian dijalankan di latar belakang.
Pelaksanaan Proses Latar Belakang
Untuk memulakan salinan direktori tanpa gangguan pengguna, pertimbangkan langkah berikut:
Gunakan exec() untuk Melancarkan Perintah:
Gunakan eksekutif untuk melancarkan arahan salin, mengubah hala output ke fail ($outputfile) dan menambahkan ID proses ke fail lain ($pidfile). Ini memastikan pemantauan berterusan.
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));
Status Proses Pantau:
Laksanakan fungsi isRunning untuk menjejak status proses berdasarkan PIDnya.
function isRunning($pid){ try{ $result = shell_exec(sprintf("ps %d", $pid)); if( count(preg_split("/\n/", $result)) > 2){ return true; } }catch(Exception $e){} return false; }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Proses PHP yang Memakan Masa di Latar Belakang Tanpa Menyekat Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!