Melaksanakan Perintah PHP Tanpa Menunggu Keputusan
Menjalankan arahan menggunakan exec() dalam PHP lazimnya menyebabkan skrip menunggu sehingga arahan selesai . Walau bagaimanapun, terdapat cara untuk melaksanakan arahan secara tidak segerak, membenarkan skrip meneruskan tanpa menunggu keputusan.
Dokumentasi menerangkan bahawa anda boleh mengubah hala kedua-dua output standard dan ralat standard ke /dev/null dan kemudian latar belakang arahan untuk mencapai ini:
> /dev/null 2>&1 &
Ini memastikan arahan itu tidak menghasilkan sebarang output yang akan menyekat PHP skrip.
Sebagai alternatif, untuk memulakan proses bebas sepenuhnya, anda boleh menggunakan arahan berikut:
exec('bash -c "exec nohup setsid your_command > /dev/null 2>&1 &"');
Arahan ini mencipta shell Bash baharu yang menjalankan arahan yang ditentukan. Proses ini diasingkan daripada urutan Apache semasa dan akan terus berjalan walaupun halaman itu ditamatkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Perintah PHP Secara Asynchronous Tanpa Menyekat Skrip?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!