(PECL win32service SVN)
win32_create_service — Crée une nouvelle entrée pour service dans la base de données SCM
Tente d'ajouter un service dans la base de données SCM. Des privilèges d'administrateur sont nécessaires pour que cela réussisse.
detailsUn tableau des détails des services :
serviceLe nom court du service. C'est le nom que vous utiliserez pour contrôler le service en utilisant la commande net. Le service doit être unique (deux services ne peuvent partager le même nom), et idéalement, devrait éviter d'avoir des espaces dans son nom.
displayLe nom d'affichage du service. C'est le nom que vous verrez dans l'Applet Services.
descriptionLa description longue du service. C'est la description que vous verrez dans l'Applet des services.
userLe nom de l'utilisateur sous lequel vous voulez que le service s'exécute. Si oublié, le service fonctionnera en tant que LocalSystem. Si le nom de l'utilisateur est spécifié, vous devez aussi fournir un mot de passe.
password
Le mot de passe qui correspond à user.
pathLe chemin complet au module exécutable qui sera démarré lorsque le service est démarré. Si oublié, le chemin du processus courant de PHP sera utilisé.
paramsParamètres de commande à passer au service lorsqu'il démarre. Si vous voulez exécuter un script PHP en tant que service, alors le premier paramètre devrait être le chemin complet au script PHP que vous prévoyez exécuter. Si le nom du script ou le chemin contiennent des espaces, alors, entourez le chemin complet du script PHP par des "
load_orderContrôle le load_order. Cela n'est pas encore complètement supporté.
svc_type
Fixe le type de service. Si oublié, la valeur par défaut est
WIN32_SERVICE_WIN32_OWN_PROCESS. Ne changez
pas ceci à moins que vous savez vraiment ce que vous faites.
start_type
Spécifie comment le service devrait être démarré. La valeur par
défaut est WIN32_SERVIDE_AUTO_START qui
signifie que le service sera démarré lorsque la machine démarrera.
error_control
Informe le SCM à propos de ce qu'il devrait faire lorsqu'il détecte
un problème avec le service. La valeur par défaut est
WIN32_SERVER_ERROR_IGNORE. Le changement de
cette valeur n'est pas encore complètement supporté.
delayed_start
Si delayed_start est défini à
TRUE, alors il informera le SCM que ce service doit être
démarré après les services démarrés automatiquement et un certain
délai.
N'importe quel service peut être marqué comme étant un service
retardé après le démarrage automatique ; cependant, cette configuration
n'a aucun effet tant que le paramètre start_type
du service vaut WIN32_SERVICE_AUTO_START.
Cette configuration n'est application que sous Windows Vista et les serveurs Windows 2008 et suivants.
base_priorityPour réduire l'impacte sur l'utilisation du processeur, il peut être nécessaire de définir une priorité plus basse qu'à la normale.
Le paramètre base_priority peut être défini à
une des constantes définies dans les
classes de basse priorité Win32.
machineLe nom optionnel de la machine sur lequel vous voulez créer le service. Si oublié, cela utilisera la machine locale.
Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code on failure.
Exemple #1 Exemple avec win32_create_service()
Crée un service dont le nom court est 'dummyphp'.
<?php
$x = win32_create_service(array(
'service' => 'dummyphp', # le nom de votre service
'display' => 'service PHP simple PHP', # la description courte
'description' => 'Ceci est un service Windows créé en utilisant PHP', # la description longue
'params' => '"' . __FILE__ . '" run', # chemin vers le script ainsi que les paramètres
));
debug_zval_dump($x);
?>