Veröffentlicht 12. September 201014 j Hallo, ich habe mir für meinen PC ein kleines Webpanel geschrieben. Dort gibt es ein paar Befehle, shutdown, PC Sperren etc, das funktioniert alles wunderbar, doch eins macht mir Probleme: ich würde gerne eine Nachricht an den PC schicken, das funktioniert ja durch msg. Wenn ich das in cmd eingebe, funktioniert alles einwandfrei, doch bloß durch das Panel will es einfach nicht funktionieren. $file = time().'.txt'; $file = "test.txt"; foreach(explode(chr(10), $_POST['msg']) as $v) { system('echo '.$v.'>>'.$file); } system('msg * <'.$file); system('erase '.$file); [/PHP] Die txtdatei wird erstellt, der Inhalt steht auch drin (hatte das erase auskommentiert). Wenn ich den befehl so in cmd eingebe, funktionierts einwandfrei und ich erhalte mein Popup, aber wenn ich das übers panel ausführe passiert nichts. Hat da jemand von euch eine Idee? MfG Funfare
12. September 201014 j Autor Es läuft lokal xampp unter meinem benutzernamen, also wird es mein Benutzer sein oder? Der kann das auf jedenfall. Php kann ja auch System herunter fahren, pc sperren etc, ich denke dann müsste er doch auch msg ausführen dürfen odeR? MfG Funfare
12. September 201014 j Php kann ja auch System herunter fahren, pc sperren etc, ich denke dann müsste er doch auch msg ausführen dürfen odeR? Findet er das Executable, das Du ausführen willst? Ich würde Dir empfehlen die Logs anzuschauen und von "system" den return-Wert anzuschauen.
12. September 201014 j Autor Hab jetzt mal die errorlogs durchgeschaut, es meldet mir: "Der Befehl "msg" ist entweder falsch geschrieben oder konnte nicht gefunden werden." für mich nicht so ganz verständlich, msg gibts doch o.O
12. September 201014 j Schreib mal den absoluten Pfad zu msg.exe in das system()-Kommando hinein. Hier auch mal lesen: http://www.php.net/manual/de/ini.sect.safe-mode.php#ini.safe-mode-exec-dir Bearbeitet 12. September 201014 j von lupo49
12. September 201014 j Autor Hallo, gleiche wieder "Der Befehl "C:\windows\system32\msg.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden." Bei einem Kollegen mit Win7-32 bit funktionierts, könnte es irgendwas damit zu tun haben, das ich win7 64 bit habe? MfG Funfare
12. September 201014 j Im ProcessMonitor.exe konnte man sehen, dass er eine msg.exe in C:\Windows\SysWOW64 gesucht hat. Wenn du die msg.exe in das Verzeichnis kopierst, dann funktioniert es. (Für so eine Analyse zu später Stunde, müsste man eigtl. Geld nehmen..)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.