shell_exec
kembali "git" bukan perintah dalaman atau luaran? , ralat ini dikembalikan. Ini bukan masalah khusus PHP; Ini adalah isu peringkat sistem mengenai bagaimana sistem operasi anda mencari fail yang boleh dilaksanakan. Masalahnya terletak pada laluan carian arahan, bukan dalam kod PHP itu sendiri. Pembolehubah persekitaran sistem anda menentukan di mana sistem operasi mencari fail yang boleh dilaksanakan apabila anda menaip arahan di terminal atau apabila program seperti PHP shell_exec
cuba menjalankan arahan. Pembolehubah git
adalah penting. Ia adalah senarai direktori, dipisahkan oleh titik -titik koma (pada tingkap) atau kolon (pada linux/macOS), di mana sistem mencari fail yang boleh dilaksanakan. bar.
shell_exec
PATH
linux/macOS:
PATH
anda menggunakan arahan echo $PATH
di terminal anda. Jika ia tidak hadir, anda perlu menambahkannya ke fail konfigurasi shell anda (mis., .bashrc
). Buka fail ini dalam editor teks (menggunakan .zshrc
contohnya), tambahkan laluan ke direktori git .profile
anda (mis., Anda telah menyelesaikan pemasangan Git yang berjaya. Cuba berjalan nano ~/.bashrc
di terminal sistem anda. Jika arahan ini mengembalikan nombor versi Git, maka Git dipasang dengan betul, dan masalahnya terletak di tempat lain (kemungkinan besar pembolehubah persekitaran Path). Jika ia mengembalikan ralat yang serupa dengan yang ada dalam skrip PHP anda, maka pemasangan git anda mungkin tidak lengkap atau rosak. Anda harus memasang semula Git, memastikan anda memilih pilihan untuk menambah Git ke laluan sistem anda semasa proses pemasangan. Ini lebih biasa pada sistem Linux/MACOS dengan tetapan kebenaran ketat. Jika Git boleh dilaksanakan atau direktori induknya mempunyai kebenaran yang tidak mencukupi untuk pengguna yang menjalankan skrip PHP, bin
akan gagal. Anda boleh menggunakan perintah /usr/local/bin
(pada Linux/MacOS) atau dialog Properties (pada Windows) untuk menyemak kebenaran fail. Ini sering memerlukan mengkonfigurasi pelayan web untuk dijalankan sebagai pengguna dengan keistimewaan yang sesuai. Kebenaran pelayan web yang dikonfigurasikan secara tidak wajar adalah risiko keselamatan yang signifikan, jadi teruskan dengan berhati -hati dan rujuk dokumentasi pelayan web anda. Semak dan betulkan ini terlebih dahulu. Jika isu ini berterusan, maka siasat pemasangan Git dan tetapan kebenaran. Ingatlah untuk memulakan semula pelayan web anda setelah membuat perubahan kepada pembolehubah atau keizinan persekitaran. /usr/bin
Atas ialah kandungan terperinci Mengapa ia mendorong 'git' ketika melaksanakan shell_exec bukan perintah dalaman atau luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!