BlaBla.cn

PHP: win32service - Manual

BlaBla.cn
win32_create_service > <win32_ps_stat_proc
Last updated: Wed, 19 Mar 2008

win32service Functions

简介

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
  1. You can download php_win32service.dll from http://snaps.php.net/win32/. Choose the PECL_X_X folder that matches you PHP version.

  2. Copy the php_win32service.dll into your extension_dir.

  3. 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
  
}
}
?>

预定义常量

以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。

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)

Table of Contents




win32_create_service > <win32_ps_stat_proc
Last updated: Wed, 19 Mar 2008
 
 
BlaBla.cn

© 2005-2008 BlaBla.cn 版权所有