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 :)
EmoticonEmoticon