Manuel PHP
Précédent |  | Suivant

# CLXIII. Fonctions win32service

# Introduction

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.

# Pré-requis

Windows NT, Windows 2000, Windows XP ou Windows Server 2003. N'importe quelle version de windows dérivé de Windows NT devrait être compatible

# Installation

Installation à partir de PECL

1. 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.

2. Copiez le fichier php_win32service.dll dans votre extension_dir.

3. Charge l'extension à partir de votre `php.ini`

       extension=php_win32service.dll

# Exemples

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 } } ?>`

# Constantes pré-définies

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.

`WIN32_SERVICE_CONTROL_CONTINUE` (entier)

`WIN32_SERVICE_CONTROL_INTERROGATE` (entier)

`WIN32_SERVICE_CONTROL_PAUSE` (entier)

`WIN32_SERVICE_CONTROL_STOP` (entier)

`WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE` (entier)

`WIN32_SERVICE_CONTROL_POWEREVENT` (entier)

`WIN32_SERVICE_CONTROL_SESSIONCHANGE` (entier)

`WIN32_ERROR_CALL_NOT_IMPLEMENTED` (entier)

`WIN32_NO_ERROR` (entier)

`WIN32_SERVICE_RUNNING` (entier)

`WIN32_SERVICE_STOPPED` (entier)

`WIN32_SERVICE_STOP_PENDING` (entier)

`WIN32_SERVICE_WIN32_OWN_PROCESS` (entier)

`WIN32_SERVICE_INTERACTIVE_PROCESS` (entier)

`WIN32_SERVICE_STOPPED` (entier)

`WIN32_SERVICE_START_PENDING` (entier)

`WIN32_SERVICE_STOP_PENDING` (entier)

`WIN32_SERVICE_RUNNING` (entier)

`WIN32_SERVICE_CONTINUE_PENDING` (entier)

`WIN32_SERVICE_PAUSE_PENDING` (entier)

`WIN32_SERVICE_PAUSED` (entier)

`WIN32_SERVICE_ACCEPT_NETBINDCHANGE` (entier)

`WIN32_SERVICE_ACCEPT_PARAMCHANGE` (entier)

`WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE` (entier)

`WIN32_SERVICE_ACCEPT_SHUTDOWN` (entier)

`WIN32_SERVICE_ACCEPT_STOP` (entier)

`WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE` (entier)

`WIN32_SERVICE_ACCEPT_POWEREVENT` (entier)

`WIN32_SERVICE_ACCEPT_SESSIONCHANGE` (entier)

`WIN32_SERVICE_FILE_SYSTEM_DRIVER` (entier)

`WIN32_SERVICE_KERNEL_DRIVER` (entier)

`WIN32;E_WIN32_SHARE_PROCESS` (entier)

`WIN32;E_RUNS_IN_SYSTEM_PROCESS` (entier)

Précédent | Sommaire | Suivant
win32_ps_stat_proc | Niveau supérieur | win32_create_service