Meskipun PHP menjadi bahasa yang kuat dengan banyak ekstensi yang tersedia untuk menangani perpustakaan spesialis, Anda mungkin akan merasa terbantu untuk dapat menjalankan program eksternal bila diperlukan, terutama jika Anda menjalankan Unix di mana OS hadir dengan lebih banyak program bawaan. Show Di PHP ada dua metode penting untuk mengeksekusi program, dan ini adalah exec() dan passthru(). Keduanya mengambil minimal satu parameter, yang merupakan nama program yang ingin Anda jalankan, tetapi perbedaan di antara keduanya adalah bahwa exec() menjalankan program kemudian mengirimkan kembali baris terakhir yang dikeluarkan dari program itu sebagai nilai pengembaliannya. Fungsi passthru(), sebaliknya, menjalankan program yang ditentukan dan mencetak semua keluaran yang dihasilkan program. Memanggil exec() biasanya lebih disukai ketika output dari program Anda tidak relevan, sedangkan passthru() secara otomatis mencetak output Anda. Di sini keduanya sedang beraksi
Kedua perintah tersebut tersedia di kotak Unix standar. Perhatikan bahwa karena waktu aktif biasanya mengembalikan hanya satu baris, tidak masalah apakah print exec() atau passthru() digunakan Jika Anda melewatkan parameter kedua dan ketiga ke exec(), output dari perintah akan dimasukkan ke dalam parameter dua sebagai larik dengan satu baris per elemen, dan nilai kembalian dari perintah akan dimasukkan ke dalam parameter tiga. Demikian pula, jika Anda melewatkan parameter kedua ke passthru() itu akan diisi dengan nilai kembalian dari perintah Sebagai contoh
Contoh itu seharusnya berfungsi dengan baik di Windows serta banyak versi Unix Catatan Penulis. Jika server Anda adalah kotak Unix, coba gunakan passthru("fortune") untuk mendapatkan sistem kutipan acak yang cepat dan mudah untuk bagian bawah halaman Anda. Perhatikan bahwa keberuntungan mungkin tidak diinstal atau tersedia untuk skrip PHP Anda - hubungi administrator sistem Anda untuk mengetahuinya Ada fungsi eksekusi lain yang tersedia, terutama shell_exec() dan system(), namun sebagian besar tidak relevan - shell_exec(), misalnya, bekerja dengan cara yang persis sama seperti operator backtick yang kita lihat sebelumnya Catatan Penulis. Mengambil input pengguna dan meneruskannya ke salah satu fungsi eksekusi program ini berpotensi fatal - pengguna dapat dengan mudah melewati keamanan dan melakukan hal buruk dengan server Anda. Jika Anda benar-benar harus menggunakan data pengguna sebagai input untuk pemanggilan program Anda, teruskan melalui fungsi khusus escapeshellcmd() terlebih dahulu - ini mengambil input Anda, dan mengembalikannya dalam format aman yang dapat digunakan Sejauh ini kita telah melihat mengeksekusi program eksternal menggunakan exec() dan system(), tetapi ada fungsi ketiga yang memungkinkan Anda untuk mengeksekusi secara eksternal juga, meskipun cara kerjanya sangat berbeda dari dua lainnya. Fungsi virtual() hanya membutuhkan satu parameter, dan, luar biasa, hanya berfungsi di server web Apache dan SunONE. Tidak seperti exec() dan system(), virtual() melakukan permintaan virtual ke server web untuk sebuah file, hampir seolah-olah skrip Anda adalah klien itu sendiri. Permintaan ini diproses seperti biasa dan hasilnya dikirim kembali ke skrip Anda Dengan menggunakan metode ini Anda dapat, misalnya, menjalankan skrip Perl dari skrip PHP Anda, atau, untuk keanehan yang nyata, mengeksekusi skrip PHP lain dari skrip PHP Anda. Penggunaan untuk virtual() mungkin tidak tampak jelas pada awalnya, hanya karena jumlahnya sedikit dan jarang. Namun, jika Anda memiliki halaman di situs Anda yang memerlukan eksekusi khusus, Anda harus menggunakan exec(), meneruskan nama program yang menangani halaman serta nama file halaman itu sendiri, Anda dapat menggunakan include() Ingin belajar PHP7? Peretasan dengan PHP telah diperbarui sepenuhnya untuk PHP 7, dan sekarang tersedia sebagai PDF yang dapat diunduh. Dapatkan lebih dari 1200 halaman pembelajaran langsung PHP hari ini Jika ini membantu, luangkan waktu sejenak untuk memberi tahu orang lain tentang Meretas dengan PHP dengan men-tweet tentangnya Fungsi shell_exec() adalah fungsi bawaan di PHP yang digunakan untuk mengeksekusi perintah melalui shell dan mengembalikan hasil lengkap sebagai string. Shell_exec adalah alias untuk operator backtick, untuk yang digunakan untuk *nix. Jika perintah gagal, kembalikan NULL dan nilainya tidak dapat diandalkan untuk pemeriksaan kesalahan Sintaksis string shell_exec( $cmd ) Parameter. Fungsi ini menerima parameter tunggal $cmd yang digunakan untuk menyimpan perintah yang akan dieksekusi Nilai Pengembalian. Fungsi ini mengembalikan perintah yang dieksekusi atau NULL jika terjadi kesalahan Catatan. Fungsi ini dinonaktifkan saat PHP berjalan dalam mode aman Contoh
gfg.php index.html geeks.php0 gfg.php index.html geeks.php1
gfg.php index.html geeks.php_3 gfg.php index.html geeks.php_4 gfg.php index.html geeks.php5 gfg.php index.html geeks.php6 gfg.php index.html geeks.php7 gfg.php index.html geeks.php8 Keluaran gfg.php index.html geeks.php exec() Fungsi Fungsi exec() adalah fungsi bawaan di PHP yang digunakan untuk mengeksekusi program eksternal dan mengembalikan baris terakhir dari output. Itu juga mengembalikan NULL jika tidak ada perintah yang dijalankan dengan benar Sintaksis string exec( $command, $output, $return_var ) Parameter. Fungsi ini menerima tiga parameter seperti yang disebutkan di atas dan dijelaskan di bawah ini
Nilai Pengembalian. Fungsi ini mengembalikan perintah yang dieksekusi, pastikan untuk mengatur dan menggunakan parameter keluaran Contoh
string exec( $command, $output, $return_var )0 gfg.php index.html geeks.php5 string exec( $command, $output, $return_var )2 string exec( $command, $output, $return_var )3 string exec( $command, $output, $return_var )4 gfg.php index.html geeks.php1 gfg.php index.html geeks.php8 Keluaran geeks.php Referensi
PHP adalah bahasa skrip sisi server yang dirancang khusus untuk pengembangan web. Anda dapat mempelajari PHP dari bawah ke atas dengan mengikuti Tutorial PHP dan Contoh PHP ini Apa itu exec () di php?Fungsi exec() adalah fungsi bawaan dalam PHP yang digunakan untuk mengeksekusi program eksternal dan mengembalikan baris terakhir dari keluaran . Itu juga mengembalikan NULL jika tidak ada perintah yang dijalankan dengan benar.
Bagaimana cara menggunakan perintah exec di php?Pada Windows exec() pertama-tama akan memulai cmd. exe untuk menjalankan perintah . Jika Anda ingin memulai program eksternal tanpa memulai cmd. exe gunakan proc_open() dengan set opsi bypass_shell.
Bagaimana cara mengaktifkan Shell_exec di php?Cara mengaktifkan exec() . Buka php.ini Anda. ini dan temukan bagian berikut Hapus exec dari baris dan klik Save Changes Jika Anda perlu menonaktifkan show_source, system atau shell_exec juga, tambahkan saja kembali ke baris dan simpan perubahannya Apa itu passthru di php?Fungsi passthru() mirip dengan fungsi exec() karena menjalankan perintah . Fungsi ini harus digunakan sebagai pengganti exec() atau system() ketika output dari perintah Unix adalah data biner yang perlu diteruskan langsung kembali ke browser. |