win32_create_service
(PECL win32service >=0.1.0)
win32_create_service — Hizmet yönetim veritabanında yeni bir hizmet girdisi
oluşturur
Açıklama
win32_create_service(array $ayrıntılar
, string $makine
= ?): void
Bağımsız Değişkenler
-
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.
Dönen Değerler
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.
Hatalar/İstisnalar
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.
Örnekler
Ö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);
?>