WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP WakeOnLan Scriptfehler (http://www.wcm.at/forum/showthread.php?t=170745)

Nightman 28.07.2005 15:51

PHP WakeOnLan Scriptfehler
 
hi an alle

ihr liest schon richtig.... ich habe ein script für php gefunden mit dem man WakeOnLan ausführen kann.

es funkt soweit alles wunderpaar nur bekomme ich ne meldung die mir ned ganz passt und die ich gern weghaben wollen würde

Zitat:

Fatal error: Uncaught exception 'com_exception' with message 'Error Mitglied nicht gefunden. ' in Z:\Homepage\Nightman\v2.0\wakeup.php:11 Stack trace: #0 Z:\Homepage\Nightman\v2.0\wakeup.php(11): com->Release() #1 {main} thrown in Z:\Homepage\Nightman\v2.0\wakeup.php on line 11
naja hier noch der code

PHP-Code:

<?PHP

$WakeObj 
= new COM("WolCom.Wol");

$WakeObj->TheMacAddress('000B6A4B9788');
$WakeObj->TheIpNumber('192.168.0.2');
$WakeObj->TheSubnetMask('255.255.255.0');
$WakeObj->ThePortNumber('8900');
$WakeObj->WakeMeUp();

$WakeObj->Release();
$WakeObj null;

echo 
"der pc wurde aufgeweckt";
?>

THX im vorraus

pong 28.07.2005 18:25

Wenn es funktioniert, unterdrück einfach die Ausgabe mittels @

pong

Nightman 28.07.2005 18:29

jo des is aber ned der sinn und zweck der ausgabe odeR? muss jo nen grund haben

snowman 28.07.2005 18:52

Ja, aber der läßt sich mit den paar Zeilen nicht ermitteln.

gruss,
snowman

Nightman 28.07.2005 20:06

und wo setzt ich das @ rein um nix anderes zu unterdrücken?

pong 28.07.2005 20:14

Zitat:

Original geschrieben von Nightman
und wo setzt ich das @ rein um nix anderes zu unterdrücken?
Dort wo der Fehler auftritt, also in Zeile 11

pong

Nightman 28.07.2005 20:22

naja eben dann gibt er das echo auch nimma aus

pong 28.07.2005 20:32

Und? Wirst doch wohl eh davor ein kleines Frontend haben, welches einfach nur den Rückgabeparameter auswerten wird, oder?

pong

Nightman 28.07.2005 20:34

was meinst genau

ich sgas mal so ich hab sicher schon seit einem jahr nix mehr mit php gemacht ^^ und fastalles vergessen

pong 29.07.2005 15:03

Zitat:

Original geschrieben von Nightman
was meinst genau

ich sgas mal so ich hab sicher schon seit einem jahr nix mehr mit php gemacht ^^ und fastalles vergessen

Du rufen auf WOL Script mittels weckmichauf.php, WOL Script liefern Wert an weckmichauf.php zurück und weckmichauf.php sagen bei Wert von WOL Script 1 "echo $wach;" ansonsten "echo $lass_mich_in_ruh;"
pong

Nightman 29.07.2005 17:39

hm irgentwie steh ich voll auf der leitung sorry :(

delphirocks 29.07.2005 18:41

Bist du dir sicher, dass der Release() Call überhaupt durchgeführt werden muß ?

Normalerweise sollten AddRef() und Release() Aufrufe manuell gar nicht notwendig sein...

Mit der Zuweisung $WakeObj=null sollte der Referenzzähler des COM Objektes eigentlich heruntergezählt werden, und das Objekt sich dann selbst aus dem Speicher entfernen. Habe allerings mit der Kombination PHP+COM keine Erfahrung, nur mit PHP und COM ;)
Habe aber gerade nach ein paar Beispielen gegoogled, da wird nirgends ein Release aufgerufen (das passiert wahrscheinlich implizit beim Setzten des Objektes auf null, bei VB z.B. obj=nothing).

Probier einfach mal den Release() Aufruf herauszunehmen...

Falls du PHP5 verwendest, könntest du übrigens COM Exceptions abfangen...

Nightman 30.07.2005 15:42

Zitat:

Probier einfach mal den Release() Aufruf herauszunehmen...
du hattest recht

THX


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag