Apabila melaksanakan arahan bash daripada skrip PHP, seseorang mungkin menghadapi masalah jika direktori kerja skrip berbeza daripada lokasi perintah itu. Untuk menyelesaikan masalah ini, adalah penting untuk menukar direktori kerja semasa ke lokasi yang dikehendaki sebelum melaksanakan arahan shell.
Untuk menggambarkan konsep ini, pertimbangkan kod PHP berikut:
<code class="php">$old_path = getcwd(); chdir('/my/path/'); $output = shell_exec('./script.sh var1 var2'); chdir($old_path);</code>
Dalam ini contoh, getcwd() menyimpan direktori kerja semasa dalam pembolehubah $old_path. Selepas itu, chdir() menukar direktori kerja ke laluan yang ditentukan dalam /my/path/. Sekarang, apabila melaksanakan ./script.sh var1 var2, arahan shell akan dilaksanakan dalam direktori baharu ini. Selepas pelaksanaan arahan, chdir() kembali ke direktori kerja asal, seperti yang disimpan dalam $old_path.
Dengan menggunakan pendekatan ini, anda boleh memastikan arahan shell dilaksanakan dalam konteks yang betul, tanpa mengira arus direktori kerja skrip PHP anda. Strategi ini amat berguna apabila bekerja dengan skrip yang bergantung pada fail atau direktori tertentu berbanding lokasinya.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Perintah Bash dari PHP Semasa Menavigasi Pertimbangan Direktori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!