 |
CLXXII. 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
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 |
Esempio 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 )); ?>
|
|
Esempio 2. Unregistering a service
<?php win32_delete_service('dummyphp'); ?>
|
|
Esempio 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 } } ?>
|
|
Queste costanti sono definite da questa estensione e
sono disponibili solo se l'estensione è stata compilata
nel PHP o se è stata caricata dinamicamente a 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)
|  |