(PECL win32service >=0.1.0)
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. Bunun için yönetici ayrıcalıkları gerekir.
ayrıntılar
Hizmet ayrıntıları dizisi:
service
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.
display
Hizmetin görünen ismi. Hizmetler uygulamasında göreceğiniz isimdir.
description
Hizmetin uzun açıklaması. Bu açıklama Hizmetler uygulamasında görünür.
user
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.
password
user
anahtarında belirtilen kullanıcının parolası.
path
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.
params
Hizmet başlatılırken komut satırına aktarılacak bağımsız değişkenler. Bir PHP betiğini hizmet olarak çalıştıracaksanız ilk bağımsız değişken ç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
load_order denetimi. Bu henüz tamamen desteklenmiyor.
svc_type
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.
start_type
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.
error_control
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.
delayed_start
delayed_start
için true
atanmışsa, hizmet yönetimine bu hizmetin diğer otomatik başlatma hizmetlerinden biraz daha geç başlatılması gerektiğini bildirir.
Herhangi bir hizmet, gecikmeli otomatik başlatma hizmeti olarak imlenebilir; ancak start_type
değeri WIN32_SERVICE_AUTO_START
olmadığı sürece bu ayarın hiçbir etkisi yoktur.
Bu ayar sadece Windows Vista ve Windows Server 2008 ve üstü içindir.
base_priority
İşlemci kullanımı üzerindeki etkiyi azaltmak için, normalden daha düşük bir temel öncelik ayarlamak gerekebilir.
base_priority
bağımsız değişkenine Win32 Temel Öncelik Sınıfları altında tanımlı sabitlerden biri atanabilir.
dependencies
Hizmetinizin bağımlılıklarını tanımlamak için bu bağımsız değişkene hizmet adları listesini bir dizi olarak atamanız gerekebilir.
recovery_delay
Bu bağımsız değişken, başarısızlık ile kurtarma işleminin yürütülmesi arasındaki gecikmeyi milisaniye cinsinden tanımlar.
60000 öntanımlıdır.
recovery_action_1
İlk başarısızlıkta yürütülecek işlem. WIN32_SC_ACTION_NONE
öntanımlıdır.
recovery_action_1
bağımsız değişkenine Win32 Kurtarma İşlemlerinden biri atanabilir.
recovery_action_2
İkinci başarısızlıkta yürütülecek işlem. WIN32_SC_ACTION_NONE
öntanımlıdır.
recovery_action_2
bağımsız değişkenine Win32 Kurtarma İşlemlerinden biri atanabilir.
recovery_action_3
Sonraki başarısızlıklarda yürütülecek işlem. WIN32_SC_ACTION_NONE
öntanımlıdır.
recovery_action_3
bağımsız değişkenine Win32 Kurtarma İşlemlerinden biri atanabilir.
recovery_reset_period
Arıza sayısı bağımsız değişkende tanımlanan saniyelik gecikmeden sonra sıfırlanır.
86400
öntanımlıdır.
recovery_enabled
Kurtarma işlemlerini etkinleştirmek için true
yoksa false
atanır.
false
öntanımlıdır.
recovery_reboot_msg
Yeniden başlatmadan önce Windows Olay Günlüğüne kaydedilen iletiyi tanımlamak içindir. WIN32_SC_ACTION_REBOOT
için yalnızca bir eylem tanımlanmışsa kullanılır.
recovery_command
WIN32_SC_ACTION_RUN_COMMAND
için tek işlem atandığında çalıştırılacak komutun tanımlanacağı bağımsız değişken.
machine
Hizmeti oluşturmak istediğiniz makinenin ismi; belirtilmesi isteğe bağlıdır. Verilmezse yerel makine ismi kullanılır.
Hiçbir değer dönmez.
Sürüm 1.0.0 öncesi, Başarı durumunda WIN32_NO_ERROR
, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false
döner.
service
bağımsız değişkeni boşsa ValueError yavrulanır.
path
bağımsız değişkeni boşsa veya yoksa ValueError yavrulanır.
svc_type
bağımsız değişkeni yanlışsa ValueError yavrulanır.
start_type
bağımsız değişkeni yanlışsa ValueError yavrulanır.
error_control
bağımsız değişkeni yanlışsa ValueError yavrulanır.
base_priority
bağımsız değişkeni yanlışsa ValueError yavrulanır.
recovery_delay
bağımsız değişkeni 0 ve PHP_INT_MAX arasında değilse ValueError yavrulanır.
recovery_action_1
bağımsız değişkeni yanlışsa ValueError yavrulanır.
recovery_action_2
bağımsız değişkeni yanlışsa ValueError yavrulanır.
recovery_action_3
bağımsız değişkeni yanlışsa ValueError yavrulanır.
recovery_reset_period
bağımsız değişkeni 0 ve PHP_INT_MAX arasında değilse ValueError yavrulanır.
Bir hata durumunda Win32ServiceException yavrulanır.
Sürüm: | Açıklama |
---|---|
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi. |
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi. |
PECL win32service 1.0.0 | Dönüş türü artık void, evvelce mixed idi. |
PECL win32service 0.4.0 | dependencies , recovery_delay , recovery_action_1 , recovery_action_2 , recovery_action_3 , recovery_reset_period , recovery_enabled , recovery_reboot_msg ve recovery_command bağımsız değişkenleri eklendi. |
Örnek 1 - win32_create_service() örneği
'dummyphp' kısa isimli bir hizmet oluşturur.
<?php
$x = win32_create_service(array(
'service' => 'dummyphp', // hizmetin ismi
'display' => 'sample dummy PHP service', // kısa açıklaması
'description' => 'This is a dummy Windows service created using PHP.', // uzun açıklaması
'params' => '"' . __FILE__ . '" run', // betik ve bağımsız değişkenler için dosya yolu
));
debug_zval_dump($x);
?>
Örnek 2 - Bağımlılıkları olan win32_create_service() örneği
'dummyphp' kısa isimli ve bağımlılıkları ile bir hizmet oluşturulması.
<?php
$x = win32_create_service(array(
'service' => 'dummyphp', // hizmetin ismi
'display' => 'sample dummy PHP service', // kısa açıklaması
'description' => 'This is a dummy Windows service created using PHP.', // uzun açıklaması
'params' => '"' . __FILE__ . '" run', // betik ve bağımsız değişkenler için dosya yolu
'dependencies' => array("Netman"), // Bağımlılık listesi
));
debug_zval_dump($x);
?>
Örnek 3 - Kurtarmalı win32_create_service() örneği
'dummyphp' kısa isimli ve kurtarma ayarları ile bir hizmet oluşturulması.
<?php
$x = win32_create_service(array(
'service' => 'dummyphp', // hizmetin ismi
'display' => 'sample dummy PHP service', // kısa açıklaması
'description' => 'This is a dummy Windows service created using PHP.', // uzun açıklaması
'params' => '"' . __FILE__ . '" run', // betik ve bağımsız değişkenler için dosya yolu
'recovery_delay' => 120000, // 2 dakika sonra çalıştırılacak kurtarma işlemi
'recovery_action_1' => WIN32_SC_ACTION_RESTART, // İlk başarısızlıkta hizmeti yeniden başlat
'recovery_action_2' => WIN32_SC_ACTION_RUN_COMMAND, // İkinci başarısızlıkta komutu çalıştır
'recovery_action_3' => WIN32_SC_ACTION_NONE, // Diğer tüm başarısızlıkta hiçbir şey yapma
'recovery_reset_period' => 86400, // 1 gün sonra başarısızlık sayacını sıfırla
'recovery_enabled' => true, // recovery bağımsız değişkenini etkin yap
'recovery_reboot_msg' => null, //Yeniden başlat iletisini tanımlama, burada gerekmez
'recovery_command' => "c:\clean-service.bat", // İşlem WIN32_SC_ACTION_RUN_COMMAND ise, bu komutu çalıştır
));
debug_zval_dump($x);
?>