win32service 函数
在线手册:中文 英文
PHP手册

win32_query_service_status

(PECL win32service SVN)

win32_query_service_statusQueries the status of a service

说明

mixed win32_query_service_status ( string $servicename [, string $machine ] )

Queries the current status for a service, returning an array of information.

参数

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

返回值

Returns an array consisting of the following information on success, 参数错误时返回 FALSE , 或失败时返回一个 Win32 错误码 .

ServiceType

The dwServiceType. See Win32Service Service Type Bitmasks.

CurrentState

The dwCurrentState. See Win32Service Service Status Constants.

ControlsAccepted

Which service controls are accepted by the service. See Win32Service Service Control Message Accepted Bitmasks.

Win32ExitCode

If the service exited, the return code from the process.

ServiceSpecificExitCode

If the service exited with an error condition, the service specific code that is logged in the event log is visible here.

CheckPoint

If the service is shutting down, holds the current check point number. This is used by the SCM as a kind of heart-beat to detect a wedged service process. The value of the check point is best interpreted in conjunction with the WaitHint value.

WaitHint

If the service is shutting down it will set WaitHint to a checkpoint value that will indicate 100% completion. This can be used to implement a progress indicator.

ProcessId

The Windows process identifier. If 0, the process is not running.

ServiceFlags

The dwServiceFlags. See Win32Service Service Service Flag Constants.

参见


win32service 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Queries the status of a service

用户评论:

demers dot alex at gmail dot com (21-Jul-2009 04:39)

This function will return an array containing the above information as a return value, but if this fails it will return an integer which is a System Error Code. All the System Error Codes can be found here:

http://msdn.microsoft.com/en-us/library/ms681381%28VS.85%29.aspx

In my case, it returned 5, in which I immediately knew why and fixed the issue right away.

In the case of mnemotronic at netscape dot net, here in the documentation notes, it returned 1060 which is:

ERROR_SERVICE_DOES_NOT_EXIST
1060 (0x424)
The specified service does not exist as an installed service.

Again, it should not return FALSE, instead an System Error Code for Windows.

CM at chaosmixed dot com (16-Jun-2009 06:29)

***Notice the name is IISADMIN and not IIS Admin
right click the serivce then, type in the "Service Name" not the "Display Name" or you will get 1060

<?php
$servicename
="IISADMIN";
$machine ="desktopper";
//print_r (win32_query_Service_status($servicename,$machine));

echo  $servicename;

$sray = win32_query_Service_status($servicename,$machine);

echo
"<br>";

print_r ($sray);

echo
"<ul>";
echo
"<li>Service Type: " .$sray[ServiceType] . "</li>";
echo
"<li>CurrentState: " .$sray[CurrentState] . "</li>";
echo
"<li>Controls Accpeted: " .$sray[ControlsAccepted] . "</li>";
echo
"<li>Win32 Exit Code: " .$sray[Win32ExitCode] . "</li>";
echo
"<li>Service Specific Exit Code: " .$sray[ServiceSpecificExitCode] . "</li>";
echo
"<li>Check Point: " .$sray[CheckPoint] . "</li>";
echo
"<li>Wait Hint: " .$sray[WaitHint] . "</li>";
echo
"<li>Process Id: " .$sray[ProcessId] . "</li>";
echo
"<li>Service Flags: " .$sray[ServiceFlags] . "</li>";
?>

mnemotronic at netscape dot net (25-Oct-2006 03:30)

If the service specified is non-existant, "win32_query_service_status" seems to return an integer, not  the expected FALSE value:

<?php
$svcStatus
=win32_query_service_status ('_bogons_');
echo
$svcStatus ;
?>

prints 1060

-- This is for xampp PHP; v5.1.6