Posting ini membahas cara mengeksekusi perintah shell melalui PHP. Kemampuan untuk mengeksekusi perintah shell adalah fitur yang kuat dan harus digunakan dengan hati-hati. Dengan demikian, tidak semua penyedia hosting mengizinkan Anda menjalankan perintah shell
Tahukah Anda bahwa Anda dapat menonaktifkan fungsi PHP di file php.ini?. ini menggunakan direktif? . "Kesalahan fatal. Kesalahan yang tidak tertangkap. Panggil ke fungsi yang tidak terdefinisi Shell_exec()”
Fungsi PHP untuk mengeksekusi perintah shell adalah. shell_exec(), exec() atau sistem(). Fungsi-fungsi ini sangat mirip tetapi memiliki sedikit perbedaan. Mari lihat
Daftar isi
shell_exec(). rangkaian
Fungsi shell_exec() mengembalikan string atau nilai NULL. String yang dikembalikan akan berisi output dari perintah yang Anda jalankan. Namun, fungsi shell_exec() akan mengembalikan NULL jika terjadi kesalahan. Anda juga dapat mengharapkan nilai NULL jika perintah tidak menghasilkan keluaran
Perintah ini membutuhkan parameter berikut
- $cmd – Mengharapkan nilai string yang berisi perintah yang ingin Anda jalankan
<? //List the folders using ls echo shell_exec("ls / -ltr");
Ini akan menampilkan yang berikut ini
total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root …._
exec(string $cmd, array &$output = null, int &$resultCode = null). rangkaian. Salah
Fungsi exec() mengembalikan baris terakhir dari perintah yang dieksekusi sebagai string. Namun, perintah ini juga dapat mengembalikan FALSE jika terjadi kesalahan
Perintah ini membutuhkan parameter berikut
- $cmd – Mengharapkan nilai string yang berisi perintah yang ingin Anda jalankan
- &$output – Merupakan parameter opsional yang mengharapkan variabel array. Fungsi exec() akan memperbarui variabel dengan setiap baris output dari perintah. Ruang kosong tambahan, seperti \n, tidak disertakan dalam larik ini. Juga, exec() akan ditambahkan ke akhir array jika array sudah berisi item
- &$resultCode – Merupakan parameter opsional yang mengharapkan variabel integer. Fungsi exec() akan memperbarui variabel dengan status keluar dari perintah yang dieksekusi
Simbol & berarti bahwa nilai variabel akan diperbarui ketika berubah di dalam fungsi. Dengan kata lain, variabel dilewatkan dengan referensi
Selanjutnya, mari kita lihat bagaimana Anda dapat menggunakan fungsi exec() untuk mengembalikan informasi memori dari mesin Linux
<?php $output=null; $resultCode=null; //get the memory info of a Ubuntu machine exec('free', $output, $resultCode); echo "Returned with status $resultCode and output:\n"; print_r($output);
Ini akan menampilkan yang berikut ini
Returned with status 0 and output: Array ( [0] => total used free shared buff/cache available [1] => Mem: 16351256 9143564 283052 282788 6924640 6661072 [2] => Swap: 2097148 279644 1817504 )
sistem(string $cmd, int &$resultCode = null). rangkaian. Salah
Fungsi system() mirip dengan fungsi exec(). Namun itu akan menampilkan output secara langsung (tanpa menggunakan echo() atau print())
Perintah ini membutuhkan parameter berikut
- $cmd – Mengharapkan nilai string yang berisi perintah yang ingin Anda jalankan
- &$resultCode – Merupakan parameter opsional yang mengharapkan variabel integer. Fungsi exec() kemudian akan memperbarui variabel dengan status keluar dari perintah yang dieksekusi
Terakhir, mari kita lihat bagaimana perintah sistem digunakan menggunakan contoh exec() dari atas
<?php $resultCode=null; //get the memory info of a Ubuntu machine system('free', $resultCode); echo "Returned with status $resultCode and output:\n";_
Ini akan menampilkan yang berikut ini
total used free shared buff/cache available Mem: 16351256 9246984 238044 307576 6866228 6531868 Swap: 2097148 285036 1812112 Returned with status 0 and output:
Membungkus
Sangat mudah untuk mengeksekusi perintah shell di PHP. Selain itu, fungsi shell_exec(), exec() atau system() tidak boleh dinonaktifkan di php. file ini
Anda mungkin juga tertarik
- Cara melihat kesalahan shell_exec() di PHP
- Uji kode PHP Anda sebagai pengguna www-data
- Cara mengirimkan array asosiatif dengan HTML & PHP
- Cara menggunakan fungsi dalam Bash Scripting
- Dasar-Dasar Pembuatan Skrip Bash
- 27-07-2021 – Menambahkan informasi tentang menonaktifkan fungsi di php. di dalam
Sumber
- http. //php. net/manual/en/fungsi. shell-exec. php
- http. //php. net/manual/en/fungsi. eksekusi. php
- https. // www. php. net/manual/en/fungsi. sistem. php
Tentang Penulis
Tim redaksi Anto sangat menyukai cloud seperti Anda. Setiap anggota tim redaksi Anto adalah pakar Cloud di bidangnya masing-masing. Anto Online sangat bangga membantu sesama penggemar Cloud. Beri tahu kami jika Anda memiliki ide bagus untuk topik berikutnya. Hubungi Anto Online jika ingin berkontribusi