CLXXVI. 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.
Εγκατάσταση
Διαδικασία 17. 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
Παραδείγματα
Παράδειγμα 2374. 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
));
?>
Παράδειγμα 2376. 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
}
}
?>
Προκαθορισμένες Σταθερές
Οι σταθερές παρακάτω ορίζονται από αυτή την επέκταση, και θα είναι διαθέσιμες μόνο αν η επέκταση έχει γίνει compile μέσα στην 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)
Πίνακας Περιεχομένων
- win32_create_service — Creates a new service entry in the SCM database
- win32_delete_service — Deletes a service entry from the SCM database
- win32_get_last_control_message — Returns the last control message that was sent to this service
- win32_query_service_status — Queries the status of a service
- win32_set_service_status — Update the service status
- win32_start_service_ctrl_dispatcher — Registers the script with the SCM, so that it can act as the service with the given name
- win32_start_service — Starts a service
- win32_stop_service — Stops a service
win32service Functions
