Ik wil in PHP een scripje maken wat een 20 tal servers controleert.
Ik wil alleen weten of ze online zijn of niet.
Het probleem is alleen dat deze servers niet gelijk zijn, dus op sommige servers staat een bepaalde poort open en op een andere weer dicht.
Zo draait op de ene machine weer geen webserver op de andere weer wel, zo ook met ftp.
Sommige zijn windows en andere linux (diverse versies)
Al met al lukt het me niet om een scripje te maken wat simpel zegt online of offline.
Ik ben bezig geweest met fsockopen maar dit werkt niet.
Ik had het volgende scripje gebruikt:
$server_firstip wordt uit een database gehaald net zoals de waardes $serverpoort,$querypoort
Maar als ik dit scripje run dan krijg ik bij alle servers het zelfde resultaat:
0 succesful en de waarde $machineonline=0;
Ik weet dat er van de 20 machines zeker 6 zijn die niet online zijn en de rest wel.
Is er geen eenvoudiger en betrouwbaardere manier om te controleren of een machine (ip adres, GEEN hostnamen!!!) online is via PHP, want met fsockopen wilt het helemaal niet lukken.
Ik wil alleen weten of ze online zijn of niet.
Het probleem is alleen dat deze servers niet gelijk zijn, dus op sommige servers staat een bepaalde poort open en op een andere weer dicht.
Zo draait op de ene machine weer geen webserver op de andere weer wel, zo ook met ftp.
Sommige zijn windows en andere linux (diverse versies)
Al met al lukt het me niet om een scripje te maken wat simpel zegt online of offline.
Ik ben bezig geweest met fsockopen maar dit werkt niet.
Ik had het volgende scripje gebruikt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| (while statement hier) $poorten = array($serverpoort,$querypoort,21,22,10000,80); for($i=0;$i<count($poorten) AND !strstr($machineonline,'1');$i++) { $sock = fsockopen($server_firstip, $poorten[$i], $nummer, $error, 10); $poort = $poorten[$i]; echo "check $server_firstip, $poort, $nummer, $error<br>"; if(!$sock) { $machineonline=0; fclose ($sock); } else { $machineonline=1; fclose ($sock); } } (einde while) |
$server_firstip wordt uit een database gehaald net zoals de waardes $serverpoort,$querypoort
Maar als ik dit scripje run dan krijg ik bij alle servers het zelfde resultaat:
0 succesful en de waarde $machineonline=0;
Ik weet dat er van de 20 machines zeker 6 zijn die niet online zijn en de rest wel.
Is er geen eenvoudiger en betrouwbaardere manier om te controleren of een machine (ip adres, GEEN hostnamen!!!) online is via PHP, want met fsockopen wilt het helemaal niet lukken.
[ Voor 15% gewijzigd door Verwijderd op 10-10-2005 05:28 ]