sys_ping unter linux/wine

hallo,

wenn ich $result = (Boolean) Sys_Ping($ipadr, 1000); ausführe erhalte ich :
PHP-Error-Warning: Invalid handle. Ping request failed.
Error in Script C:\IP-Symcon\scripts\12466.ips.php on Line 7

wobei line 7 eben $result ist…

danke
gruß

Hallo 08156,

Wine hat ein Problem mit der Benutzung von raw sockets. Zu den betroffenen Programmen gehört auch „ping“.

Ein Workaround ist die Benutzung eines Bash-Scripts, welches das Ergebnis des ping-Befehls auf die Standardausgabe ausgibt.
Dieses Script läßt sich in IPS durch ein Script aufrufen und auswerten.

Bash-Script zum Beispiel als ips_ping.sh speichern.

#!/bin/bash
# Die als Parameter angegebenen IP-Adresse 1-mal anpingen.
# ping nach 2 Sekunden Wartezeit beenden.
ping $1 -c 1 -W 2 >> /dev/null

# Error-Code des ping Befehls ausgeben
echo $?

exit

IPS-Script

<?
$ipadr = '192.168.10.54';

//Bash-Script aufrufen und Ausgabe des Scripts in $result speichern
$result = exec('Pfad_zum_Bash-Script/ips_ping.sh '.$ipadr, $retval);

if($result == 0){
	echo "Die angegebene IP-Adresse \"".$ipadr."\" ist erreichbar.";
}else{
	echo "Die angegebene IP-Adresse \"".$ipadr."\" ist nicht erreichbar.";
}

?>

Gruß
Ralla

alles klar, vielmals danke so läuft das perfekt!!!

gruß
0815