win32_create_service
(PECL win32service >=0.1.0)
win32_create_service — Crée une nouvelle entrée pour service dans la base de données SCM
Description
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.
Liste de paramètres
-
details
-
Un tableau des détails des services :
-
service
-
Le 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.
-
display
-
Le nom d'affichage du service. C'est le nom que vous verrez dans l'Applet Services.
-
description
-
La description longue du service. C'est la description que vous verrez dans l'Applet des services.
-
user
-
Le 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
. -
path
-
Le 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é.
-
params
-
Paramè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_order
-
Contrô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 vautWIN32_SERVICE_AUTO_START
.Cette configuration n'est application que sous Windows Vista et les serveurs Windows 2008 et suivants.
-
base_priority
-
Pour 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. -
dependencies
-
Pour définir les dépendances de votre service, il est nécessaire de définir ce paramètre avec la liste des noms des service dans un tableau.
-
recovery_delay
-
Ce paramètre défini le délai entre la défaillance et l'exécution de l'action de récupération. La valeur est en millisecondes.
La valeur par défaut est 60000.
-
recovery_action_1
-
L'action qui sera exécuté lors de la première défaillance. L'action par défaut est
WIN32_SC_ACTION_NONE
.Le paramètre
recovery_action_1
peut être défini avec l'une des constantes définie dans les Actions de récupération Win32. -
recovery_action_2
-
L'action qui sera exécuté lors de la deuxième défaillance. L'action par défaut est
WIN32_SC_ACTION_NONE
.Le paramètre
recovery_action_2
peut être défini avec l'une des constantes définie dans les Actions de récupération Win32. -
recovery_action_3
-
L'action qui sera exécuté lors des défaillances suivantes. L'action par défaut est
WIN32_SC_ACTION_NONE
.Le paramètre
recovery_action_3
peut être défini avec l'une des constantes définie dans les Actions de récupération Win32. -
recovery_reset_period
-
Le compteur des défaillance sera réinitialisé après le délai défini dans ce paramètre. Le délai est exprimé en secondes.
La valeur par défaut est 86400.
-
recovery_enabled
-
Définir ce paramètre à
TRUE
pour activer les options de récupération, etFALSE
pour les désactiver.La valeur par défaut est
FALSE
-
recovery_reboot_msg
-
Ajouter ce paramètre pour définir le message enregistré dans le jounal d'évènements Windows avant le redémarrage. Utilisé uniquement si l'une des actions est défini à
WIN32_SC_ACTION_REBOOT
. -
recovery_command
-
Ajouter ce paramètre pour définir la commande a exécuter lorsqu'une action est définie à
WIN32_SC_ACTION_RUN_COMMAND
.
-
-
machine
-
Le nom optionnel de la machine sur lequel vous voulez créer le service. Si oublié, cela utilisera la machine locale.
Valeurs de retour
Returns WIN32_NO_ERROR
on success, FALSE
if there is a problem with the parameters or a Win32 Error Code on failure.
Exemples
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);
?>
Exemple #2 Un exemple win32_create_service() avec les dépendances
Crée un service dont le nom court est 'dummyphp' avec des dépendances.
<?php
$x = win32_create_service(array(
'service' => 'dummyphp', // Le nom du service
'display' => 'service PHP simple PHP', // Une courte description
'description' => 'Ceci est un service Windows créé en utilisant PHP.', // Une longue description
'params' => '"' . __FILE__ . '" run', // chemin vers le script ainsi que les paramètres
'dependencies' => array("Netman"), // La liste des dépendances
));
debug_zval_dump($x);
?>
Exemple #3 Exemple de win32_create_service() avec les options de récupération
Crée un service dont le nom court est 'dummyphp' avec les options de récupération.
<?php
$x = win32_create_service(array(
'service' => 'dummyphp', // Le nom du service
'display' => 'service PHP simple PHP', // Une courte description
'description' => 'Ceci est un service Windows créé en utilisant PHP.', // Une longue description
'params' => '"' . __FILE__ . '" run', // chemin vers le script ainsi que les paramètres
'recovery_delay' => 120000, // Les actions de récupération seront exécuté après 2 minutes
'recovery_action_1' => WIN32_SC_ACTION_RESTART, // Première défaillance, redémarrage du service
'recovery_action_2' => WIN32_SC_ACTION_RUN_COMMAND, // Deuxième défaillance, exécution d'une commande
'recovery_action_3' => WIN32_SC_ACTION_NONE, // Défaillance suivante, ne rien faire
'recovery_reset_period' => 86400, // Réinitialiser le compteur des défaillance après 1 jour (86400 minutes)
'recovery_enabled' => true, // Activer les options de récupération
'recovery_reboot_msg' => null, // Ne pas définir de message de redémarrage, il n'est pas utile.
'recovery_command' => "c:\clean-service.bat", // Lorsque l'action est WIN32_SC_ACTION_RUN_COMMAND, exécuter cette commande.
));
debug_zval_dump($x);
?>
Historique
Version | Description |
---|---|
0.4.0 |
Les paramètres dependencies , recovery_delay ,
recovery_action_1 , recovery_action_2 ,
recovery_action_3 , recovery_reset_period ,
recovery_enabled , recovery_reboot_msg
et recovery_command ont été ajoutés.
|
Voir aussi
- win32_delete_service() - Supprime une entrée de service de la base de données SCM
- Les classes de basse priorité Win32
- Les actions de récupération Win32
- Les codes erreurs Win32
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-win32-create-service.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.