Melaksanakan Perintah Bash daripada PHP
Apabila cuba melaksanakan skrip bash daripada PHP menggunakan fungsi shell_exec, menghadapi masalah boleh mengecewakan. Walaupun arahan seperti ls berfungsi dengan betul, pelaksanaan skrip tersuai mungkin gagal.
Masalah ini sering timbul daripada direktori kerja semasa PHP. Apabila memanggil arahan luaran, adalah penting untuk memastikan skrip yang dilaksanakan boleh diakses daripada direktori yang betul.
Penyelesaian
Untuk menyelesaikan masalah ini, gunakan fungsi chdir untuk menukar direktori kerja sementara sebelum melaksanakan skrip:
<code class="php">$old_path = getcwd(); chdir('/my/path/'); $output = shell_exec('./script.sh var1 var2'); chdir($old_path);</code>
Teknik ini memastikan skrip berada "dalam" direktori yang dimaksudkan sebelum memanggil arahan shell. Laluan skrip boleh ditentukan dalam panggilan fungsi chdir. Setelah pelaksanaan skrip selesai, direktori kerja asal dipulihkan menggunakan chdir($old_path).
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Skrip Bash daripada PHP dan Mengelakkan Isu Direktori Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!