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 — Questionne le statut d'un service
Description
Questionne le statut courant pour un service, retournant un tableau d'informations.
Liste de paramètres
-
servicename -
Le nom court du service.
-
machine -
Le nom optionnel de la machine. Si oublié, cela utilisera la machine locale.
Valeurs de retour
Retourne un tableau contenant les informations suivantes en
cas de succès, , FALSE if there is a problem with the parameters or a Win32 Error Code on failure.
-
ServiceType -
Le dwServiceType. Voir les masques de type de service Win32Service.
-
CurrentState -
Le dwCurrentState. Voir les constantes de statut des services Win32Service.
-
ControlsAccepted -
Quels contrôles de service sont acceptés par le service. Voir les masques acceptés pour les messages de contrôle de service Win32Service.
-
Win32ExitCode -
Si le service quitte, le code de retour du processus.
-
ServiceSpecificExitCode -
Si le service quitte avec une condition d'erreur, le code spécifique du service qui sera enregistré dans le journal d'évènements est visible ici.
-
CheckPoint -
Si le service s'arrête, garde le nombre courant de point de contrôle. Ceci est utilisé par SCM comme un genre de battement de coeur pour détecter un processus de service arrêté. La valeur du point de contrôle est mieux interprétée en conjonction avec la valeur WaitHint.
-
WaitHint -
Si le service s'arrête, il fixera un WaitHint à une valeur de point de contrôle qui indiquera l'exécution 100%. Cela peut être utilisé pour implanter un indicateur de progrès.
-
ProcessId -
L'identifiant de processus de fenêtre. Si 0, le processus ne fonctionne pas.
-
ServiceFlags -
Le dwServiceFlags. Voir les constantes utilisées pour les drapeaux des services Win32Service.
***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
