(PECL win32service SVN)
win32_create_service — Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur
Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur.
Hizmet ayrıntıları dizisi:
Hizmetin kısa ismi. net komutuyla hizmeti denetlemekte kullanılacak isimdir. İsim eşsiz olmalı (aynı isimde iki hizmet olmamalı) ve mümkünse boşluk karakterleri içermemelidir.
Hizmetin görünen ismi. Hizmetler programcığında göreceğiniz isimdir.
Hizmetin aidiyetinde çalışacağı kullanıcı hesabı. Belirtilmediği takdirde hizmet LocalSystem hesabı altında çalışır. Bir kullanıcı ismi belirtilirse bir parola da belirtmek gerekir.
user anahtarında belirtilen kullanıcının parolası.
Hizmet başlatıldığında çalıştırılacak çalıştırılabilirin mutlak dosya yolu. Belirtilmediği takdirde geçerli PHP süreci kullanılır.
Hizmet başlatılırken komut satırına aktarılacak değiştirgeler. Bir PHP betiğini hizmet olarak çalıştıracaksanız ilk değiştirge çalıştırılacak PHP betiğinin mutlak yolu olmalıdır. Eğer betik ismi veya dosya yolu boşluk karakteri içeriyorsa PHP betiğindeki dosya yolunun tamamını çift tırnak (") karakterlerinin arasına alın.
load_order denetimi. Bu henüz tamamen desteklenmiyor.
Hizmet türü belirtilir. Belirtilmezse öntanımlı değer: WIN32_SERVICE_WIN32_OWN_PROCESS. Ne yaptığınızdan emin değilseniz bunu değiştirmeyin.
Hizmetin nasıl başlatılması gerektiği belirtilir. Öntanımlı değer WIN32_SERVICE_AUTO_START olup hizmetin makine başlatıldığında çalıştırılacağı anlamına gelir.
Hizmet yöneticisinin hizmet ile ilgili bir sorun saptadığında ne yapacağı belirtilir. Öntanımlı değer: WIN32_SERVER_ERROR_IGNORE. Desteklenen tek değer budur.
Hizmeti oluşturmak istediğiniz makinenin ismi; belirtilmesi isteğe bağlıdır. Verilmezse yerel makine ismi kullanılır.
Başarılı olursa TRUE, aksi takdirde bir win32 hata kodu döner.
Örnek 1 - win32_create_service() örneği
'dummyphp' kısa isimli bir hizmet oluşturur.
<?php
$x = win32_create_service(array(
'service' => 'dummyphp',
'display' => 'PHP hizmeti denemesi',
'params' => __FILE__ . ' run',
));
debug_zval_dump($x);
?>