Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyelesaikan masalah ralat php exec

Bagaimana untuk menyelesaikan masalah ralat php exec

藏色散人
藏色散人asal
2022-01-28 10:43:053286semak imbas

Penyelesaian kepada ralat php exec: 1. Ubah suai kebenaran pelaksanaan ping atau arahan yang sepadan 2. Lengkapkan laluan penuh arahan dengan "exec('/usr/sbin',$output);" ; 3. Tambahkan direktori sasaran pada pembolehubah persekitaran.

Bagaimana untuk menyelesaikan masalah ralat php exec

Persekitaran pengendalian artikel ini: sistem Windows 7, versi PHP 7.1, komputer DELL G3

Cara menyelesaikan php masalah ralat exec?

0. Penerangan

Dalam php, kita boleh menggunakan exec() untuk melaksanakan arahan sistem, tetapi kadangkala kita menghadapi kegagalan pelaksanaan perintah, atau tiada pulangan Situasi dijelaskan di bawah: exec()

1. Fungsi

  exec ( string $command [, array &$output [, int &$return_var ]] ) : string
  参数说明:
  1.$command   要执行的命令
  2.$output  执行结果
  3.$return_var 若同时设置 $output 和此变量,命令执行后的返回状态会被写入到此变量
2. , tetapi situasi yang tidak dijangka mungkin berlaku atas sebab-sebab tertentu Di bawah ialah penjelasan mengenai dua situasi dan penyelesaian

2.1 Isu kebenaran
  exec("ping www.baidu.com", $output);

Masalahping

Apabila Apabila kami melaksanakan arahan sistem Linux secara langsung. pada pelayan (mengambil ping sebagai contoh di sini), kebenaran pelaksanaan bergantung pada kebenaran pengguna log masuk kami Jika pengguna log masuk kami ialah
, maka root digunakan semasa melaksanakan
. Tetapi apabila kami mengakses laman web, pengguna kami pada masa ini adalah

Jika kami tidak mengubah suai kebenaran pelaksanaan ping, ia tidak akan berjaya dilaksanakan.

PenyelesaianrootpingUbah suai kebenaran pelaksanaan ping atau arahan yang sepadanwww
2.2 Masalah laluan arahan

Masalah
Ada situasi lain apabila Apabila kita menggunakan exec untuk melaksanakan perintah tertentu, tiada ralat dilaporkan atau keputusan dikembalikan Sebabnya ialah arahan ini tidak ada dalam direktori yang dikonfigurasikan dengan pembolehubah persekitaran, iaitu, dalam fail
sebagai contoh, kita boleh menggunakan
, Cari laluan khusus arahan ini Contohnya, laluan di bawah

Terdapat dua penyelesaian:

Penyelesaian /etc/profileifconfig1 Salin. arahan kepada whereis ifconfig, iaitu direktori di bawah pembolehubah persekitaran ( Tidak disyorkan) /usr/sbin2 Lengkapkan laluan penuh arahan secara langsung
(disyorkan)

3 Tambah direktori sasaran kepada pembolehubah persekitaran, untuk contoh, tambahkan

pada direktori
/usr/bin
Pembelajaran yang disyorkan :《exec('/usr/sbin',$output);Tutorial Video PHP
/usr/sbin

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah ralat php exec. 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