Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



CLXXIII. 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. 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)

Table des matières

win32_create_service – Crée une nouvelle entrée pour service dans la base de données SCMwin32_delete_service – Supprime une entrée de service de la base de données SCMwin32_get_last_control_message – Retourne le dernier message de contrôle qui a été envoyé à ce servicewin32_query_service_status – Questionne le statut d’un servicewin32_set_service_status – Met à jour le statut d’un servicewin32_start_service_ctrl_dispatcher – Enregistre un script avec SCM, alors il peut être interprété en tant que service avec le nom donnéwin32_start_service – Démarre un servicewin32_stop_service – Arrête un service

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright