Dari script PHP kita bisa mengakses CLI (command line interface) linux dengan fungsi shell_exec, dengan fungsi shell_exec perintah-perintah CLI bisa dieksekusi dari PHP. Tapi bila anda menggunakan shared hosting, fungsi shell_exec
biasanya didisable karena alasan keamanan dan membatasi akses user terhadap perintah-perintah shell. Untuk melakukan percobaan sebaiknya anda menggunakan server ataupun menjalankan di komputer anda yang berbasis linux. Script yang akan kita buat mengambil uptime system dan juga berapa memory yang tersisa di server/komputer <?php
//shell.php
echo shell_exec ('free -m');
echo shell_exec ('uptime');
?> buka dari browser anda, atau bisa juga dijalankan dari CLI, tampilannya di terminal seperti gambar dibawah ini
Beberapa perintah CLI yang bisa bermanfaat adalah uptime dan free.
Reader Interactions
Pada tutorial kali ini kita akan belajar PHP CLI ( PHP Command Line ) yaitu kita dapat menjalankan perintah
linux dengan PHP ini sebagai contoh awal kita memahami fungsi dari shell_exec(). Sedikit yang membahas tentang PHP CLI ini karena Basah Pemrograman PHP sendiri berfokus kepada pemrograman web tidak berfokus pada lingkungan CLI. Bagi sobat yang menggunakan XAMMP pasti jarang bermain - main dengan ini tetapi sobat yang menggunakan Linux mungkin saja sering bermain - main dengan PHP CLI ini. PHP CLI sering digunakan untuk keperluan
Bash Shell Scripting
APA ITU SHELL_EXEC ?
Shell exec adalah fungsi bawaan PHP yang berfungsi untuk menjalankan perintah melalui shell dan mengembalikan output yang lengkap sebagai string. Output dari perintah atau hasil eksekusi akan bernilai NULL / Kosong jika terjadi kesalahan atau perintah tidak menghasilkan output. Fungsi ini
dinonaktifkan bila PHP berjalan dalam mode aman / safe mode .
LATAR BELAKANG
Karena sekarang banyak sekali orang yang mempelajari PHP CLI mendorong saya untuk memberikan pengetahuan kepada semuanya mengenai PHP CLI ini. Dengan adanya artikel ini dapat membuka pengetahuan kita tentang PHP CLI yaitu kita dapat
menjalankan perintah terminal menggunakan PHP
MAKSUD DAN TUJUAN
Agar kita semua mengetahui bahwa PHP ini tidak hanya berfokus pada pemrograman web tetapi dia juga bisa digunakan untuk keperluan Bash Shell Scripting
ALAT DAN BAHAN
- Laptop / PC
- OS Linux / Ubuntu
- Terinstall LAMPP SERVER
- Web Browser
- Text Editor
TAHAP PELAKSANAAN
Pertama kita sediakan terlebih dahulu terminal kita dengan menekan tombol CTRL +
SHIFT + T dan masuk sebagai super user. Sebagai contoh saya membuat sebuah file bernama shell.php dan meletakkanya di /var/www/html agar bisa diakses pada web browser nantinya. Sebagai contoh saya menggunakan text editor CLI yaitu nano
nano /var/www/html/shell.php
Kita sudah masuk ke nano sekarang kita isikan
perintah yang kita inginkan sebagai contoh saya ingin menampilkan isi dari file /var/www/html sekaligus permision file tersebut. Berarti syntax yang harus dituliskan adalah seperti ini
Lalu kita eksekusi file php tersebut dengan menggunakan perintah
php /var/www/html/shell.php
Kenapa dia tidak menampilkan isi dari file /var/www/html ? karena kita berada pada direktori maestro / hostname. Sementara dia mengeksekusi perintah ls -l jadi dia akan menampilkan file yang ada pada lokasi kita saat ini. Lalu bagaimana caranya agar kita dapat melihat isi file di /var/www/html ? kita harus memindahkan posisi kita ke /var/www/html dengan cara
cd /var/www/html
Kita eksekusi
php shell.php
Berhasil |
Lalu bagaimana jika kita eksekusi lewat web browser bukan lewat terminal? oke kita coba
Nggak rapi ? oke kita rapikan menggunakan tag html <pre>
<?php $output = shell_exec('ls -l'); echo "<pre>"; echo $output; echo "</pre>"; ?>Oke mengapa ketika kita eksekusi menggunakan web browser dia akan otomatis menampilkan file di /var/www/html ? karena letak direktori dari shell.php berada disitu berbeda dengan ketika menggunakan terminal tadi, jika menggunakan terminal dia akan membaca lokasi kita berada dimana, sementara pada web browser dia akan membaca lokasi dari file tersebut. Understand ? :v
Penjelasan
$output adalah variabel yang berfungsi untuk menyimpan perintah linux yang saya jalankanshell_exec = adalah suatu fungsi dari php untuk menjalankan perintah linux, bisa juga di ganti dengan 'system='
echo $output = berfungsi untuk menampilkan isi variabel output
echo <pre> = berfungsi untuk menampilkan tag <pre> html agar syntax bisa lebih rapi
KESIMPULAN
Kita dapat menjalankan perintah linux menggunakan fungsi shell_exec lalu kita isikan perintah apa yang kita inginkan. Sebagai contoh disini saya menjalankan perintah ls -l yang berfungsi untuk menampilkan isi direktory dan juga melihat
permission dari setiap file / folder tersebut. Ada pertanyaan ? silahkan berikan pada kolom komentar, Sekian Terima Kasih