Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Skrip Bash Saya Tidak Melaksanakan daripada PHP?

Mengapa Skrip Bash Saya Tidak Melaksanakan daripada PHP?

DDD
DDDasal
2024-11-04 21:00:02738semak imbas

Why are My Bash Scripts Not Executing from PHP?

Melaksanakan Perintah Bash daripada PHP: Menyelesaikan Masalah Skrip Tidak Melaksana

Seorang pengguna mengalami kesukaran melaksanakan skrip Bash daripada fail PHP. Walaupun percubaan untuk menggunakan shell_exec dan sistem, skrip tetap tidak dilaksanakan. Walau bagaimanapun, arahan lain seperti "ls" berfungsi dengan betul menggunakan shell_exec.

Potensi Punca dan Penyelesaian:

Isu yang berkemungkinan besar berpunca daripada melaksanakan skrip daripada direktori yang salah. Untuk menyelesaikan masalah ini, pengguna perlu menukar direktori kerja semasa kepada direktori di mana skrip berada sebelum melaksanakannya. Ini memastikan konteks yang betul untuk skrip dilaksanakan.

Snippet Kod:

Coretan kod berikut menunjukkan cara untuk melaksanakan skrip Bash dengan betul:

<code class="php">$old_path = getcwd();
chdir('/my/path/'); // Change to the script's directory
$output = shell_exec('./script.sh var1 var2');
chdir($old_path); // Return to the previous working directory</code>

Dalam kod ini, getcwd() mendapatkan semula direktori kerja semasa, chdir('/my/path/') menetapkan direktori kerja kepada laluan skrip, shell_exec('./script.sh var1 var2') melaksanakan skrip dengan argumen yang diberikan, dan chdir($old_path) kembali ke direktori kerja sebelumnya.

Atas ialah kandungan terperinci Mengapa Skrip Bash Saya Tidak Melaksanakan daripada PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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