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.
win32_query_service_status
(PECL win32service SVN)
win32_query_service_status — Queries the status of a service
Description
Queries the current status for a service, returning an array of information.
Parameters
-
servicename -
The short name of the service.
-
machine -
The optional machine name. If omitted, the local machine will be used.
Return Values
Returns an array consisting of the following information on success, FALSE if there is a problem with the parameters or a Win32 Error Code on failure.
-
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.
***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>";
?>
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
