Apa fungsi php exec?

Saya mencoba ini di command prompt dan itu benar-benar menjalankan program dengan parameter yang diberikan. Ini contoh perintahnya


CATATAN file exe mendapat 3 input (folder, file_name, report_file_nmae)

> ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml

Tetapi ketika saya menjalankan perintah ini dari file php

exec('..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml'); _

tidak ada yang terjadi. Ini adalah pertama kalinya saya menggunakan fungsi exec(), jadi saya tidak mengetahui detailnya. Apa yang salah?

Saya mencoba menggunakan

  • > ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml 1 bukannya > ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml 2
  • > ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml 3 pada direktori
  • menambahkan > ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml 4 di sekitar nama folder direktori

Tidak beruntung

Tambahan

echo exec($command) // echos < ... why? _

atau

exec($command, $output); print_r($output); // Array()

Saya bahkan mengubah izin pada file tersebut menjadi kontrol penuh untuk semua pengguna. Jika saya memanggil program dari > ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml _5, saya dapat melihat ikon muncul di sebelah jam sebentar

PHP menyediakan metode exec() untuk mengeksekusi atau menjalankan perintah, program, atau skrip. Metode exec() ini dapat dengan mudah menjalankan perintah eksternal di sistem operasi. Misalnya, perintah whoami dari Linux dapat dijalankan untuk pengguna saat ini, dan nama pengguna yang dikembalikan dapat digunakan dalam aplikasi PHP

Sintaks Metode exec()

Metode PHP exec() memiliki sintaks berikut

exec(string $command, array &$output, int &$result_code)_
  • $command adalah tipe string yang merupakan representasi string perintah
  • &$output adalah variabel array tempat hasil perintah yang dieksekusi disimpan
  • &$result_code adalah int yang menyimpan kode hasil perintah sebagai bilangan bulat

Metode exec() mengembalikan nilai boolean palsu atau string di mana string adalah baris terakhir dari output

Jalankan Perintah

Kita akan mulai dengan contoh sederhana. Kami menjalankan perintah "whoami" di sistem Linux dan menyimpan hasil atau output dalam variabel bernama $output

<?php $output = null; $code = null; exec("whoami",$output,$code); print_r($output) ?>

Atau kami dapat memberikan perintah yang ingin kami jalankan sebagai variabel string seperti di bawah ini. Pada contoh berikut kita mengatur perintah ke dalam variabel bernama $command

<?php $output = null; $code = null; $command = "whoami"; exec($command,$output,$code); print_r($output) ?>

Whoami adalah perintah yang sangat sederhana yang mengembalikan satu item yang merupakan nama pengguna dari pengguna saat ini. Perintah exec() dapat menjalankan perintah berbeda yang mengembalikan hasil yang lebih kompleks. Perintah "ls" mencantumkan file dan folder direktori kerja saat ini

<?php $output = null; $code = null; $command = "ls"; exec($command,$output,$code); print_r($output); ?>Array ( [0] => a.out [1] => cities.txt [2] => config.ttxt [3] => data1 [4] => data2 [5] => data3 [6] => data4 [7] => data5 ... [40] => text.txt [41] => thinclient_drives [42] => uniqip.txt [43] => userinput.py [44] => usomlist.txt [45] => Videos [46] => while.sh [47] => year )

Kita bisa melihat output yang memiliki total 47 item. Output menyimpan setiap item dengan nomor indeks. Outputnya berisi konten direktori kerja saat ini

Jalankan Perintah dengan Opsi dan Parameter

Metode exec() dapat digunakan untuk mengeksekusi dan menjalankan perintah dengan opsi dan parameter. Ini adalah cara yang sama di mana opsi dan parameter diatur di dalam string perintah. Dalam contoh berikut, perintah “ls” dijalankan dengan opsi “-l” dan parameter “/etc”.

<?php $output = null; $code = null; $command = "ls -l /var/log"; exec($command,$output,$code); print_r($output); ?>

Jalankan Perintah dengan Opsi dan Parameter

Jalankan Skrip Bash

Metode exec() juga dapat digunakan untuk mengeksekusi skrip perintah bash dengan mudah. Cukup berikan nama skrip jika terletak di direktori kerja saat ini atau tentukan jalur lengkap untuk mencegah kesalahan

Skrip PHP terutama digunakan untuk mengembangkan aplikasi web tetapi juga dapat digunakan untuk tujuan lain. PHP memiliki beberapa fungsi bawaan untuk menjalankan perintah terkait sistem. exec() adalah salah satunya. Ini digunakan untuk menjalankan perintah shell atau program apa pun dari skrip PHP. Bagaimana fungsi ini dapat digunakan dalam PHP ditunjukkan dalam tutorial ini

Sintaksis

string exec ( string $command [, array &$output [, int &$return_var ]] )

Fungsi ini dapat mengambil tiga argumen. Argumen pertama adalah wajib yang akan mengambil perintah sistem. Dua argumen lainnya adalah opsional. Argumen kedua digunakan untuk menyimpan output dari perintah dalam sebuah array. Argumen ketiga dari fungsi ini digunakan untuk menyimpan status pengembalian dari perintah yang dieksekusi. Fungsi ini mengembalikan baris terakhir dari output perintah yang dieksekusi

Contoh 1. Penggunaan fungsi exec() tanpa argumen opsional

Penggunaan dasar fungsi exec() telah ditunjukkan dalam tutorial ini. Buat file PHP dengan skrip berikut untuk mengetahui bagaimana fungsi exec() mengembalikan output perintah. Perintah 'pwd' telah digunakan dalam perintah exec() pertama dari skrip yang mengembalikan satu baris keluaran. Perintah ‘ls -la‘ telah digunakan dalam perintah exec() kedua yang dapat mengembalikan beberapa baris keluaran. Jika ada perintah yang mengembalikan banyak baris maka output akan menampilkan baris terakhir sebagai output

Postingan terbaru

LIHAT SEMUA