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.
Windows NT, Windows 2000, Windows XP ou Windows Server 2003. N'importe quelle version de windows dérivé de Windows NT devrait être compatible
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.
Charge l'extension à partir de votre php.ini
extension=php_win32service.dll
Example#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
));
?>
Example#2 Efface un service
<?php
win32_delete_service('dummyphp');
?>
Example#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.