L'extension win32service est une extension spécifique à Windows qui
autorise PHP à communiquer avec la Gestion de Contrôle de Service pour
démarrer, arrêter, enregistrer ou effacer des services, et autorise
aussi vos scripts PHP à s'exécuter en tant que service.
Vous pouvez télécharger php_win32service.dll à partir de
http://snaps.php.net/win32/. Choisissez le dossier PECL_X_X qui concorde
avec votre version de PHP.
Copiez le fichier php_win32service.dll dans votre extension_dir.
Exemple 1. Enregistre un script PHP pour exécuter en tant que service
<?php win32_create_service(array( 'service' => 'dummyphp', # le nom de votre service 'display' => 'sample dummy PHP service', # description 'params' => 'c:\path\to\script.php run', # chemin au script et paramètres )); ?>
Exemple 2. Efface un service
<?php win32_delete_service('dummyphp'); ?>
Exemple 3. Exécution d'un service
<?php if ($argv[1] == 'run') { win32_start_service_ctrl_dispatcher('dummyphp');
while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) { # effectuer votre travail ici. # essayez de ne pas prendre plus de 30 secondes avant de retourner au # début de la boucle } } ?>
Ces constantes sont définies par cette
extension, et ne sont disponibles que si cette extension a été compilée avec
PHP, ou bien chargée au moment de l'exécution.