![]() |
exec in PHP-Script geht nicht
Hi!
ich habe das folgende PHP-Script:
Code:
Ihr seht, überall wo das
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) { Header("WWW-Authenticate: Basic realm=\"VNC Shell Control by Wolfgang\""); Header("HTTP/1.0 401 Unauthorized"); echo "Der Zugriff wurde verweigert!\n"; exit; } else { /* Teil der kontrolliert das der Benutzer berechtigt ist! */ if ( isset($_GET['shutdown']) || isset($_GET['reboot']) || isset($_GET['standby']) ) { if ( isset($_GET['shutdown']) ) { // Parameter -f : Alle Prozesse beenden exec('winend.exe -f -s'); // <!---------------- Hier exit; } elseif ( isset($_GET['reboot']) ) { // Parameter -f : Alle Prozesse beenden exec('winend.exe -f -r'); // <!---------------- Hier exit; } elseif ( isset($_GET['standby']) ) { // Parameter -f : Alle Prozesse beenden exec('winend.exe -f -b'); // <!---------------- Hier exit; } } else { echo "<script language='JavaScript'>alert('Kein Modus!');</script>"; } } ?>
Code:
ist, ist in "exec" Befehl!
// <!---------------- Hier
Diese "exec"'s werden jedoch nicht ausgeführt! Es gibt keine Fehler und keinen Safe Mode ( PHP ist in der Standart-Konfiguration )! Das Script soll ein Netzwerk-Server herunterfahren/neustarten/Standby setzten:
Code:
Danke im Voraus!
[url]http://192.168.0.8/winend.php?shutdown=yes[/url] // Herunterfahren
PS: Ich weiss , der Code ist schlampig programmiert, dies wird noch behoben! |
Re: exec in PHP-Script geht nicht
Hmm, ich kenne mich jetzt nicht so gut damit aus, aber ich würde glatt sagen das vielleicht die Pfadangabe zu dem Programm winend.exe fehlt und er es deswegen nicht ausführen kann!
|
Re: exec in PHP-Script geht nicht
Ich habe es jetzt mit
Code:
und
C:\WINDOWS\winend.exe
Code:
probiert.
C:/WINDOWS/winend.exe
:( Ohne Erfolg :( |
Re: exec in PHP-Script geht nicht
Du musst den Slash quoten.
Delphi-Quellcode:
MfG
C://Windows//winend.exe
Thorsten |
Re: exec in PHP-Script geht nicht
@omata
Nein, funktioniert leider auch nicht! |
Re: exec in PHP-Script geht nicht
Hallo,
ich habe auch lange rumprobiert, bis sowas ging. Was für eine Anwendung willst du da den starten? Was ist winend.exe? Ich habe bei mir nur eine Konsolenanwendung benutzt. MfG Thorsten |
Re: exec in PHP-Script geht nicht
Der Benutzer in dessen Kontext der Webserver läuft muss auch das recht haben diese anwendung zu starten.
|
Re: exec in PHP-Script geht nicht
Liste der Anhänge anzeigen (Anzahl: 1)
was ist winend.exe für ein Programm? Hast du das selbst geschrieben? Wenn es auf deinem Server bei dir zu Hause läuft, beobachte einfach mla, was auf deinem Server passiert. Das Programm sollte sich nämlich öffnen, wie, wenn du es ganz normal starten würdest. Schreib doch einfach mit in Delphi (oder irgendwas anderem) eine einefach Konsolenanwendung, die nur "Hello world" oder sowas ausgibt. Ich mache es dir einfach (in Dev-C++ ist so ein Programm nämlcih 3 Mausklicks) und hänge dir ein Programm an, welches nicht anderes macht als "Hello world" auszugeben. Probier das mal mit passthru() in PHP auszuführen. Dann sollte dein Script nämlich Hello world ausgeben.
Um zu probieren, ob du den Dateipfad richtig angegeben hast, schreib einfach mal das: if file_exists('Dateipfad') print('Dateipfad korrekt!'); in dein PHP-Skript. Prüfe mal in der php.ini, ob exec wirklich erlaubt ist... |
Re: exec in PHP-Script geht nicht
Hi
Ich weiss des Thema ist etwas älter aber ich genau des gleiche Problem und bin trotz dieses Threads nicht zu einer Lösung gekommen. Ich hab alles probiert aber ich bekomme immer den Fehler: Zitat:
Code:
<?
if (file_exists('ReBootMe.exe')) { echo 'Dateipfad korrekt!'; } else { echo "Nich da"; } passthru("ReBootMe.exe"); ?> |
Re: exec in PHP-Script geht nicht
Mh, eine Vermutung ist einfach mal, unter welchem "Konto" läuft dein PHP denn?
Apache als Dienst? Könnte evtl. damit zusammen hängen. |
Re: exec in PHP-Script geht nicht
Konto: Administrator (auf Win 2003 Server)
Http-Server: IIS 6.0 |
Re: exec in PHP-Script geht nicht
Zeig mal den Code von der Exe. Funktioniert es denn wenn du die Exe aus dem Explorer ausführst?
|
Re: exec in PHP-Script geht nicht
Die Exe ist ja nicht des Problem ist ne normale konsollenanwendung die bis jetzt nur Hallo hinschreibt gerade zum testen. Aber des Problem ist des er sie nicht startet sondern einfach nur den Fehler herausbringt.
|
Re: exec in PHP-Script geht nicht
Ich frage mich zwar, was PHP mit deinem Programm und einer Gabel will :lol: .
Naja, das war wohl ein Bug in PHP vor der Version 4.0.7 ![]() ggf. updaten. Welche Version hast du? |
Re: exec in PHP-Script geht nicht
probiers mal mit system()
is dein programm ne konsolen oder ne gui anwendung? guis kann er ja nicht abfragen probiers mal mit nem dos prgogramm oder so mfg. /edit: lad einfach die neueste version von php runter -> php.net |
Re: exec in PHP-Script geht nicht
1. PHP-Version: 5.0.5
2. Es ist eine Dos Anwendung 3. Mit System: Zitat:
|
Re: exec in PHP-Script geht nicht
erstmal was heisst hier DOS? noch 16 bit?
dann probier mal apache. ich bin mir nahezu sicher, dass du dann keine probleme haben wirst. |
Re: exec in PHP-Script geht nicht
Ich meinte eine Konsollenanwendung
und nein ich will kein Apache |
Re: exec in PHP-Script geht nicht
was waere, wenns am IIS liegt?
benutze exec, nicht system. |
Re: exec in PHP-Script geht nicht
des glaub ich nicht
exec hab ich auch schon probiert -> ohne erfolg |
Re: exec in PHP-Script geht nicht
wenn da ne fehlermeldung von wegen fork() kommt, dann wunderts mich. fork() gibts nicht unter windows.
PHP als CGI oder ISAPI? |
Re: exec in PHP-Script geht nicht
keine Ahnung was ISAPI ist
aber es ist als CGI drinnen des weiss ich |
Re: exec in PHP-Script geht nicht
benutz apache mit mod_php und deine probleme sind geloest.
wenn nur jemand wuesste, wieso IIS diese probleme macht oder wieso er so gerne von den scriptkiddies exploitet wird... |
Re: exec in PHP-Script geht nicht
des geht aber nicht ok
ich muss IIS verwenden also wie kann ich des bei IIS lösen? |
Re: exec in PHP-Script geht nicht
installier mal ein aktuelles php (von php4 gibts auch noch aktuelle versionen), wenn das noch nicht so ist.
|
Re: exec in PHP-Script geht nicht
Zitat:
*seufz* Wieso wird das immer falsch gemacht?? Nicht der Slash (/) ist der Escape-Character, sondern der Backslash (\(!! |
Re: exec in PHP-Script geht nicht
@ripper8472: Hab doch oben schon geschrieben des ich eine ganze neue version vom php hab.
@Chewie: Hast recht Backslash stimmt aber bei dem Quellcode muss ich gar nichts quoten:
Code:
<?
if (file_exists('ReBootMe.exe')) { echo 'Dateipfad korrekt!'; } else { echo "Nid da"; } exec("ReBootMe.exe"); ?> |
Re: exec in PHP-Script geht nicht
@Chewie:
Danke für den Hinweis. Das weiss ich auch. Habe sehr lange rumprobiert (mit Apache) und mit // funktioniert es wunderbar. Es kann durchaussein, dass es auch mit \/ geht. Aber mit // eben auch also erzählt hier nicht, es liegt daran. Thorsten |
Re: exec in PHP-Script geht nicht
Er findet die datei mit:
\ / \\ // also ist es egal aber kann des immer noch nicht ausführen edit: Es geht ! :mrgreen: Des problem war nur des IIS einen User bereitstellt der was keine rechte besitzt (aus Sicherheitsgründen) nachdem ich die Anmeldung eingschalten habe hat er des programm dann schliesslich auf Administrator ebene ausführen können |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz