Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menjalankan Skrip Shell Secara Asynchronous dalam PHP Tanpa Menyekat Permintaan?

Bagaimanakah Saya Boleh Menjalankan Skrip Shell Secara Asynchronous dalam PHP Tanpa Menyekat Permintaan?

Linda Hamilton
Lepaskan: 2024-12-23 18:05:16
asal
951 orang telah melayarinya

How Can I Run a Shell Script Asynchronously in PHP Without Blocking the Request?

Pelaksanaan Shell Asynchronous dalam PHP: Jangan Tunggu, Laksanakan sahaja

Pernyataan Masalah:

Reka skrip PHP yang menggunakan skrip shell dengan lancar tanpa menjejaskan prestasi permintaan PHP. Tidak seperti kaedah pelaksanaan tradisional, skrip ini tidak seharusnya menunggu skrip shell siap, membenarkan permintaan PHP keluar secara bebas.

Penyelesaian:

Untuk mencapai pelaksanaan shell tak segerak, gunakan teknik berikut:

  1. Proses Invoke Latar belakang: Tambahkan aksara "&" pada seruan skrip shell. Ini melatarbelakangi proses, membolehkan skrip PHP diteruskan tanpa menunggu selesai.
  2. Ubah Hala Keluaran dan Aliran Ralat: Tambah " > /dev/null 2>/dev/null" ke seruan skrip shell. Ini mengubah hala kedua-dua output standard dan strim ralat ke "/dev/null," dengan berkesan membuangnya.

Sintaks gabungan ini memastikan bahawa skrip shell dilaksanakan secara tidak segerak di latar belakang, tanpa melengahkan permintaan PHP.

Contoh:

exec("script.sh > /dev/null 2>/dev/null &");
Salin selepas log masuk

Alternatif Sintaks:

Alternatif lain kepada kaedah ubah hala dua kali ialah menggunakan " &> /dev/null &." Pendekatan ini mencapai hasil yang sama dengan mengubah hala kedua-dua output standard dan aliran ralat ke "/dev/null" sambil melatarbelakangkan proses.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Skrip Shell Secara Asynchronous dalam PHP Tanpa Menyekat Permintaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan