Melaksanakan Perintah Shell Secara Asynchronous dengan shell_exec
Melaksanakan tugas yang memakan masa di latar belakang adalah penting dalam aplikasi web. Sebagai contoh, permintaan pengguna mungkin mencetuskan proses intensif pengiraan yang tidak sepatutnya menyekat interaksi pengguna. Walaupun fungsi PHP shell_exec ialah cara yang mudah untuk menjalankan arahan shell, ia memerlukan skrip untuk menunggu arahan selesai, yang berpotensi menghalang pengalaman pengguna.
Untuk membetulkannya, pengubahsuaian pada panggilan shell_exec boleh dibuat . Dengan menambahkan "> /dev/null 2>/dev/null &" pada arahan, adalah mungkin untuk melaksanakan arahan tanpa menunggu selesai.
Contoh berikut menunjukkan teknik ini:
shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>/dev/null &');
Perhatikan bahawa pengubahsuaian ini juga membuang output standard dan aliran ralat standard arahan. Jika menangkap output dikehendaki, teknik alternatif seperti menggunakan Blok Kawalan Proses (PCB) atau melaksanakan proses daemon boleh dipertimbangkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Perintah Shell secara Asynchronously dalam PHP Tanpa Menyekat Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!