Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Belajar PHP: Membuat Aplikasi Daemons Sederhana

Posted on April 12, 2012

Bagi anda yang membutuhkan solusi aplikasi yang melakukan checking terus menerus atau melakukan aksi tertentu secara periodik, mungkin anda akan menggunakan solusi penggunaan Cronjob (jika di server Linux) dan Task Schedulers (jika di server Windows). Namun dua jalan tersebut sangat tergantung pada pewaktuan server dan butuh level akses yang tinggi serta tidak semua hosting mendukungnya. Nah, sebenarnya ada satu jalan lagi yang bisa ditempuh untuk memecahkan masalah diatas, yaitu menggunakan Daemon. Daemon adalah program yang berjalan dibelakang layar (running in backgrounds). Kebanyakan daemon diberinama dengan akhiran ‘d’, contoh: sshd, mysqld, syslogd dan lain-lain.

Membuat Daemon PHP

Daemon sederhana dengan PHP bisa kita buat dengan metoda perulangan WHILE. Contohnya:
[sourcecode language=”php”]
<?php

$no = 1;
while( true )
{
echo $no."\n";
sleep( 3 );
$no++;
}
?>
[/sourcecode]

Skrip diatas akan berjalan selama nilai true ada, dan akan menulis variabel nomor kemudian berhenti sejenak 3 detik untuk melanjutkan ke loop berikutnya.

Berikut adalah contoh nyata implementasi daemon pada plugin WP-SMSGateway yang saya kembangkan. Daemon ini akan bekerja mengecek secara periodik tabel inbox dari keyword-keyword yang dimasukkan.

[sourcecode language=”php”]
<?php

define( ‘ABSPATH’, dirname(dirname(dirname(dirname(dirname(__FILE__))))).’/’ );
include ABSPATH.’wp-load.php’;

$wpsmsgateway = new WPSMSGateway();

/**
* Method for displaying the help and default variables.
**/
function displayUsage(){
global $log;

echo "\n";
echo "\n";
echo "WP-SMSGateway Plugin Daemons (c) 2012 by Luthfi Emka.\n";
echo "\n";
echo "Daemons for Checking SMS Keywords, parse and saved the results.\n";
echo "This is a part of WP-SMSGateway plugins by Luthfi Emka.\n";
echo "\n";
echo "Usage:\n";
echo "\tdaemons.php [options]\n";
echo "\n";
echo "\toptions:\n";
echo "\t\t–help display this help message\n";
echo "\t\t–keyword=<keyword> keyword to find\n";
echo "\n";
}//end displayUsage()

//configure command line arguments
if($argc > 0){
foreach($argv as $arg){
$args = explode(‘=’,$arg);
switch($args[0]){
case ‘–help’:
return displayUsage();
case ‘–keyword’:
$keyword = $args[1];
break;

case ‘–saved-only’:
$saved = TRUE;
break;
}//end switch
}//end foreach
}//end if

$no = 1;
while(TRUE){
//$brot = file_get_contents( $log );
//echo ‘ ‘. base64_encode( $brot ) .’ ‘;

if(!empty($keyword)){
$results = $wpsmsgateway->ceksms_from_keyword( ‘&keyword=SALAM&limit=20′ );
foreach($results as $res){
echo $res->TextDecoded."\n";
}
}
echo $no.’ ‘;
sleep(3);
$no++;
}
?>
[/sourcecode]

Daemon diatas dilengkapi dengan options, –help untuk menampilkan bantuan dan –keyword. Untuk menjalankannya di Windows
C:\xampp\php\php.exe C:\xampp\htdocs\daemons.php --keyword=TEST

atau di Linux

php /opt/smsgateway/daemons/daemon.php

Terbaru

  • Cara Memperbaiki File Transfer Drop ke 0 di Windows 11
  • Cara Memperbaiki Microsoft Copilot Error di Outlook
  • Cara Memperbaiki Error Virtualbox NtCreateFile(\Device\VBoxDrvStub) failed, Not signed with the build certificate
  • Cara Memperbaiki Error “the system detected an address conflict for an IP address, with Event ID 4199”
  • Cara Memperbaiki Password Microsoft Edge yang Hilang
  • Cara Memperbaiki Email Outlook yang Hilang atau Tidak Muncul
  • Cara Menemukan Username dan Password di Windows 11
  • Cara Mengatasi Error Virtualbox not detecting Graphics Card di Windows 11
  • Cara Mengatasi Error Windows MFReadWrite.dll not found or missing
  • Cara Membuat Formulir Menggunakan Zoho Form
  • Pemerintah Ganti Ujian Kesetaraan Dengan TKA 2025
  • Ini Perbedaan TKA vs Ujian Nasional: TKA Lebih Sakti?
  • Daftar TKA Tutup 5 Oktober: Sudah 3.3 Juta Yang Daftar
  • Review Aplikasi ClipClaps: Penipuan atau Tidak?
  • Review Aplikasi Wibuku: Alternatif Nonton Anime Gratis untuk Para Wibu Indonesia!
  • Inilah Alat dan Software Phone Farming dengan Samsung Galaxy J7 Prime
  • Cara Cek Paket Internet Telkomsel Kena Pembatasan/Throttling Atau Tidak
  • Cara Mengatasi YMusic APK Error Tidak Bisa Dibuka
  • Cara Memblokir Akun Teman di Mobile Legend: Panduan Lengkap
  • Profil Farida Farichah, Wakil Menteri Koperasi Kabinet Merah Putih Reshuffle 17 September 2025
  • Ini Info Terbaru Pencairan BSU BPJS Ketenagakerjaan 2025!
  • Cara Reset Printer Epson L3110 2025
  • WhatsApp Tiba-tiba Keluar dan Meminta Verifikasi: Apa yang Harus Dilakukan?
  • Bisakah Saldo BNI Kamu Nol? Fakta dan Cara Mengatasinya
  • Inilah Tanda-tanda Chat Audio di Grup WhatsApp Sudah Disadap
  • Cara Mengatasi Tidak Bisa Live Instagram Karena Tidak Memenuhi Syarat
  • 7 Spek Laptop yang Ideal untuk Coding & Ngoding Web/App
  • Keuntungan dan Kerugian Menggunakan PayPal: Panduan Lengkap
  • Cara Menggunakan Stellarium Web
  • Cara Menghapus Data KTP Pribadi di Pinjol yang Belum Lunas
  • Cara Memperbaiki File Transfer Drop ke 0 di Windows 11
  • Cara Memperbaiki Microsoft Copilot Error di Outlook
  • Cara Memperbaiki Error Virtualbox NtCreateFile(\Device\VBoxDrvStub) failed, Not signed with the build certificate

©2025 emka.web.id | Design: Newspaperly WordPress Theme