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 — Bir hizmetin durumunu sorgular
Açıklama
Bir hizmetin mevcut durumunu sorgular ve sonucu bir dizi içinde döndürür.
Değiştirgeler
- hizmet
-
Hizmetin kısa ismi.
- makine
-
İsteğe bağlı olarak makine ismi. Belirtilmezse yerel makine ismi kullanılır.
Dönen Değerler
Başarısızlık durumunda FALSE, aksi takdirde aşağıdaki bilgileri içeren bir dizi döner:
- ServiceType
-
dwServiceType.
- CurrentState
-
dwCurrentState.
- ControlsAccepted
-
Hizmet tarafından kabul edilen hizmet denetimleri.
- Win32ExitCode
-
Hizmet çıkmışsa sürecin çıkış kodu.
- ServiceSpecificExitCode
-
Hizmet bir hata koduyla çıkmışsa olay günlüğündeki hizmete özgü kod.
- CheckPoint
-
Hizmet sonlanmışsa geçerli sınama sayısı. Bu hizmet yöneticisi tarafından kısıtlanan bir hizmet sürecini saptamak için bir kalp atışı tarzında kullanılır. Bu değer en iyi WaitHint değeriyle birlikte değerlendirilir.
- WaitHint
-
Hizmet sonlanmışsa geçerli sınama sayısının tamamının kullanıldığını belirtmek üzere sınama sayısı. Bir süreç göstergesi oluşturmak için kullanılabilir.
- ProcessId
-
Windows süreç kimliği. Sıfırsa süreç çalışmıyor demektir.
- ServiceFlags
-
dwServiceFlags.
win32_query_service_status
21-Jul-2009 03:39
16-Jun-2009 05: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>";
?>
25-Oct-2006 02: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
