WinFuture-Forum.de: WOL PHP Skript - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

WOL PHP Skript Wo ist der Fehler


#1 Mitglied ist offline   olm 

  • Gruppe: aktive Mitglieder
  • Beiträge: 136
  • Beigetreten: 25. Januar 05
  • Reputation: 0

  geschrieben 26. Februar 2011 - 17:38

Hi

ich habe mir hier ein PHP Skript besorgt. Allerdings geht das ganze leider nicht. Kann mir jemand sagen wo der Fehler ist! die ganzen Socketfunktionen müssten eigentlich richtig sein.

Ich möchte auf eine Dyndns.org Adresse an Port 9 Udp ein Magicpaket schicken.

<?php

if (WakeOnLan('00:11:22:33:44:55, 'test.dyndns.org')) 
{
  echo "WOL erfolgreich";
} 
else 
{
  echo "WOL FEHLER!!!";
}


/**
 * Verschickt ein WakeOnLan Paket an eine gegebene IP oder Broadcast Adresse
 * Die Mac Adresse muss im Format xx:xx:..:xx angegeben werden
 *
 * @param string $mac		   Hardware Adresse des Servers
 * @param string $addr		  IP oder Broadcast an die das Paket soll
 * @return boolean
 */
function WakeOnLan($mac, $addr) {
	$addr_byte = explode(':', $mac);
	$hw_addr = '';

	for ($a=0; $a < 6; $a++)
	{
		$hw_addr .= chr(hexdec($addr_byte[$a]));
		echo chr(hexdec($addr_byte[$a]));
		echo '<br/>';
	}
	$msg = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);

	for ($a = 1; $a <= 16; $a++)	
		$msg .= $hw_addr;

	$s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
	if ($s == false) 
	{
		echo "Error creating socket!n";
		echo "Error code is '".socket_last_error($s)."' - " . socket_strerror(socket_last_error($s));
		return false;
	} 
	else 
	{
		$opt_ret =  socket_set_option($s, 1, 6, TRUE);
		if($opt_ret < 0) 
		{
			echo "setsockopt() failed, error: " . strerror($opt_ret) . "n";
			return false;
		}
		
		//debug
		echo $msg;
		echo '<br/>';
		//end debug
		
		$e = socket_sendto($s, $msg, strlen($msg), 0, $addr, 9);
		
		//debug
		echo $e;
		echo '<br/>';
		//end debug
		
		socket_close($s);
		return true;
	}
}

?>


Danke für die Antworten

Achso was ich noch sagen sollte.

Also an der WOL Einstellungen von Router und Gerät liegt es nicht.

Wenn ich ein WOL Paket über die Seite http://ifatwww.et.un...gdeburg.de/wol/ versende startet das Gerät.

Dieser Beitrag wurde von Urne bearbeitet: 26. Februar 2011 - 18:22

0

Anzeige



#2 Mitglied ist offline   olm 

  • Gruppe: aktive Mitglieder
  • Beiträge: 136
  • Beigetreten: 25. Januar 05
  • Reputation: 0

geschrieben 02. März 2011 - 09:52

Hallo,


die Lösung!

Das Skript oben ist fehlerfrei! Ich habe herausgefunden, dass es nicht am Skript sondern an dem Webserver liegt, auf dem dieses Skript ausgeführt wird.


Danke trotzdem.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0