Hai semua, saya ingin berbagi ilmu yang saya dapatkan sambil mengerjakan skripsi saya. Pernah tidak, kalian sudah bikin suatu program keren menggunakan bahasa C/C++, tapi kalian harus menjalankannya di SERVER???
Contoh kasus yang membuat Anda melakukan ini apa? Contoh sederhananya membuat Web Service. Di mana operasi perhitungan service yang ditawarkan menggunakan bahasa C/C++. Kalau misal kalian mau bikin make PHP dari awal web servicenya, sebenarnya tidak apa-apa juga, tapi kalau misalkan sudah ada program C/C++-nya, mending make yang sudah ada daripada buat dari awal lagi kan??? :)
Kali ini akan saya share bagaimana caranya kalian bisa memanggil program kalian, yang sudah berformat .exe, melalui PHP. Caranya sangat gampang kok..
Katakan program C++ (di sini saya make C++, kalau kalian mau menggunakan C, tidak apa-apa) yang sederhana, seperti Hello World seperti yang di bawah ini, sudah siap dalam bentuk .exe. nihh
#include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; return 0; }
Nah, bagaimana kita menjalankan file .exe tersebut melalui PHP, ini dia:
- Jalankan Service Apache melalui XAMPP,
- Buat folder namanya coba di folder htdocs kalian.
- Kopas projek C++ kalian ke dalam folder coba tesebut.
- Di folder coba itu, buat file index.php, isinya seperti ini
<?php exec('bin\\Debug\\coba1.exe', $output); print_r(array_values($output)); ?>
Di sini saya menggunakan CodeBlock, sehingga direktori file .exe seperti yang saya tulis di program atas.
Isi folder coba saya akan terlihat seperti ini
direktori projek |
Jalankan file index.php di web browser kalian dah hasilnya akan seperti ini.
Hasil |
Nah, sekarang penjelasan kodingan .php-nya adalah sebagai berikut:
- Kita jalankan fungsi exec() untuk menjalankan suatu program eksternal.
- Parameter pertama merupakan lokasi+nama program eksternal yang ingin dijalankan
- Parameter kedua merupakan variabel yang akan menyimpan hasil print-an atau return value dari program yang kita jalankan dalam bentuk array.
Sampai situ saja dulu ya, semoga ini membantu :)
Komentar
Posting Komentar