The win32service extension is a Windows specific extension that allows PHP
    to communicate with the Service Control Manager to start, stop, register
    and unregister services, and even allows your PHP scripts to run as a
    service.
   
    Windows NT, Windows 2000, Windows XP or Windows Server 2003.  Any version
    of windows derived from Windows NT should be compatible.
   
Installing from PECL
      You can download php_win32service.dll from http://snaps.php.net/win32/.
      Choose the PECL_X_X folder that matches you PHP version.
     
      Copy the php_win32service.dll into your extension_dir.
     
      Load the extension from your php.ini
      
extension=php_win32service.dll  | 
     
    
Example 1. Registering a PHP script to run as a service 
<?php win32_create_service(array(         'service' => 'dummyphp',                 # the name of your service         'display' => 'sample dummy PHP service', # description         'params' => 'c:\path\to\script.php run', # path to the script and parameters     )); ?>
 |  
  | 
   
    
Example 2. Unregistering a service 
<?php win32_delete_service('dummyphp'); ?>
 |  
  | 
   
    
Example 3. Running as a service 
<?php if ($argv[1] == 'run') {   win32_start_service_ctrl_dispatcher('dummyphp');
    while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {     # do your work here.     # try not to take up more than 30 seconds before going around the loop     # again   } } ?>
 |  
  | 
   
The constants below are defined by this extension, and
will only be available when the extension has either
been compiled into PHP or dynamically loaded at runtime.
- WIN32_SERVICE_CONTROL_CONTINUE
     (integer)
 
    
- WIN32_SERVICE_CONTROL_INTERROGATE
     (integer)
 
    
- WIN32_SERVICE_CONTROL_PAUSE
     (integer)
 
    
- WIN32_SERVICE_CONTROL_STOP
     (integer)
 
    
- WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE
     (integer)
 
    
- WIN32_SERVICE_CONTROL_POWEREVENT
     (integer)
 
    
- WIN32_SERVICE_CONTROL_SESSIONCHANGE
     (integer)
 
    
- WIN32_ERROR_CALL_NOT_IMPLEMENTED
     (integer)
 
    
- WIN32_NO_ERROR
     (integer)
 
    
- WIN32_SERVICE_RUNNING
     (integer)
 
    
- WIN32_SERVICE_STOPPED
     (integer)
 
    
- WIN32_SERVICE_STOP_PENDING
     (integer)
 
    
- WIN32_SERVICE_WIN32_OWN_PROCESS
     (integer)
 
    
- WIN32_SERVICE_INTERACTIVE_PROCESS
     (integer)
 
    
- WIN32_SERVICE_STOPPED
     (integer)
 
    
- WIN32_SERVICE_START_PENDING
     (integer)
 
    
- WIN32_SERVICE_STOP_PENDING
     (integer)
 
    
- WIN32_SERVICE_RUNNING
     (integer)
 
    
- WIN32_SERVICE_CONTINUE_PENDING
     (integer)
 
    
- WIN32_SERVICE_PAUSE_PENDING
     (integer)
 
    
- WIN32_SERVICE_PAUSED
     (integer)
 
    
- WIN32_SERVICE_ACCEPT_NETBINDCHANGE
     (integer)
 
    
- WIN32_SERVICE_ACCEPT_PARAMCHANGE
     (integer)
 
    
- WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE
     (integer)
 
    
- WIN32_SERVICE_ACCEPT_SHUTDOWN
     (integer)
 
    
- WIN32_SERVICE_ACCEPT_STOP
     (integer)
 
    
- WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE
     (integer)
 
    
- WIN32_SERVICE_ACCEPT_POWEREVENT
     (integer)
 
    
- WIN32_SERVICE_ACCEPT_SESSIONCHANGE
     (integer)
 
    
- WIN32_SERVICE_FILE_SYSTEM_DRIVER
     (integer)
 
    
- WIN32_SERVICE_KERNEL_DRIVER
     (integer)
 
    
- WIN32_SERVICE_WIN32_SHARE_PROCESS
     (integer)
 
    
- WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS
     (integer)