Batch via PHP auf Server starten
-
- Foren-Einsteiger
- Beiträge: 9
- Registriert: 7. Dez 2008, 16:45
Batch via PHP auf Server starten
Hallo WHS-Fans
ich hoffe Ihr könnt mir helfen, denn zum ersten mal verzweifele ich hier an einem Problem und weder Google noch Forensuchen konnten mir weiterhelfen. Ich knacke da nun schon seit 4 Tagen dran... KRIESE!
Mein Vorhaben; Via Internet ein PHP Script aufrufen, welches auf dem Server eine BatchDatei ausführt.
Ziel: Einige Programme und Dienste die ganz gerne mal abschmieren (z.B. WME9) neu starten OHNE den Umweg über die Konsole zur fernwartung gehen zu müssen.
Die Batchdatei an sich ist fertig und läuft. Da drin bin ich ja auch fit.
Nun habe ich im Netz nach zig Lösungen gesucht eine PHP zu schreiben, welche mir die Batch Datei startet und mittlerweile glaube ich, das Problem liegt an meinem System.
Ich habe sowohl mit manueller PHP Installation rumprobiert, wie auch mit automatischer.
Derzeit ist der Stand der, dass ich Mit dem PHP-Installer 1.04 die version PHP 5.2.6 installiert habe.
Zum Testen habe ich derzeit eine PHP Datei mit folgendem Inhalt im wwwroot:
<?php
$tmp = exec("C:\\Inetpub\\wwwroot\\restartVME.cmd");
?>
Ausgabe = 0 und es passiert auch nichts.
Falls es an meiner Config liegen könnte, hier die Info: Info.php
Als Ausgabe auf dem Browser kommt nichts. Auch ein Prozess wird nicht gestartet.
Ich hoffe jemand kann mir helfen.
Falls das auch eine Fehlerquelle ist; Berechtigung. Ich habe IUSR_Server die Berechtigung zum ausführen gegeben. Darüber hinaus noch kin Berechtigung erteilt.
Noch teste ich auch Lokal auf dem WHS.
Später wünsche ich mir das ohne Login oder derartiges, nur mit simplen Start der PHP.
Hiiiiilfe und vielen lieben Dank vorab.
Ingo
ich hoffe Ihr könnt mir helfen, denn zum ersten mal verzweifele ich hier an einem Problem und weder Google noch Forensuchen konnten mir weiterhelfen. Ich knacke da nun schon seit 4 Tagen dran... KRIESE!
Mein Vorhaben; Via Internet ein PHP Script aufrufen, welches auf dem Server eine BatchDatei ausführt.
Ziel: Einige Programme und Dienste die ganz gerne mal abschmieren (z.B. WME9) neu starten OHNE den Umweg über die Konsole zur fernwartung gehen zu müssen.
Die Batchdatei an sich ist fertig und läuft. Da drin bin ich ja auch fit.
Nun habe ich im Netz nach zig Lösungen gesucht eine PHP zu schreiben, welche mir die Batch Datei startet und mittlerweile glaube ich, das Problem liegt an meinem System.
Ich habe sowohl mit manueller PHP Installation rumprobiert, wie auch mit automatischer.
Derzeit ist der Stand der, dass ich Mit dem PHP-Installer 1.04 die version PHP 5.2.6 installiert habe.
Zum Testen habe ich derzeit eine PHP Datei mit folgendem Inhalt im wwwroot:
<?php
$tmp = exec("C:\\Inetpub\\wwwroot\\restartVME.cmd");
?>
Ausgabe = 0 und es passiert auch nichts.
Falls es an meiner Config liegen könnte, hier die Info: Info.php
Als Ausgabe auf dem Browser kommt nichts. Auch ein Prozess wird nicht gestartet.
Ich hoffe jemand kann mir helfen.
Falls das auch eine Fehlerquelle ist; Berechtigung. Ich habe IUSR_Server die Berechtigung zum ausführen gegeben. Darüber hinaus noch kin Berechtigung erteilt.
Noch teste ich auch Lokal auf dem WHS.
Später wünsche ich mir das ohne Login oder derartiges, nur mit simplen Start der PHP.
Hiiiiilfe und vielen lieben Dank vorab.
Ingo
- AliG
- Moderator
- Beiträge: 3727
- Registriert: 6. Jun 2007, 17:33
- Wohnort: Salzburg, Österreich
Re: Batch via PHP auf Server starten
Hi!
Schau mal hier: http://www.php.net/manual/de/function.exec.php#85930, da beschreibt einer wie er das zum Laufen gebracht hat
Anscheinend musst du cmd.exe mit dem Batchfile als Parameter aufrufen.
lg Alex
Schau mal hier: http://www.php.net/manual/de/function.exec.php#85930, da beschreibt einer wie er das zum Laufen gebracht hat
Anscheinend musst du cmd.exe mit dem Batchfile als Parameter aufrufen.
lg Alex
-
- Foren-Einsteiger
- Beiträge: 9
- Registriert: 7. Dez 2008, 16:45
Re: Batch via PHP auf Server starten
Erstmal vielen Dank
Das hat mich schonmal dahingehend weiter gebracht das ich nun den Output: No input file specified. bekomme.
Vielleicht liegt mein Fehler in etwas simplen was ich nur wieder nicht sehe.
Also in der php.ini hab ich nun auf verdacht zum testen erstmal alles reingehauen was an pfaden nötig sein könnte. (evtl auch falsch oder zu viel !?!)
include_path = ".;c:\php5\includes;c:\inetpub;%systemroot%\system32;C:\Inetpub\wwwroot\blog"
doc_root = "C:\Inetpub\wwwroot\blog"
user_dir =
extension_dir = "c:\php5\ext"
enable_dl = On
Zuvor hatte ich Wordpress installiert um zu sehen ob php überhaupt anständig läuft. Nun arbeite ich zu testzwecken erstmal mit dem blog (wordpress) verzeichnis.
Diese Zeile der Anleitung hab ich "ausgelassen" da ich nicht weis wo ich den pfad angeben soll. (ist die php.ini gemeint !?!)
5. Specified the full path to each file being executed.
Hab ich erstmal mit in die ini eingetragen:
7. Ensured that %systemroot%\system32 is in the system path.
Die php datei schaut nun so aus:
<?php
$output = exec("c:\\windows\\system32\\cmd.exe /c $restartVME.cmd");
?>
wobei die php UND die cmd im selben Ordner(Blog) liegen.
Eine Idee wo ich da wieder nen Bock geschossen habe?
Das hat mich schonmal dahingehend weiter gebracht das ich nun den Output: No input file specified. bekomme.
Vielleicht liegt mein Fehler in etwas simplen was ich nur wieder nicht sehe.
Also in der php.ini hab ich nun auf verdacht zum testen erstmal alles reingehauen was an pfaden nötig sein könnte. (evtl auch falsch oder zu viel !?!)
include_path = ".;c:\php5\includes;c:\inetpub;%systemroot%\system32;C:\Inetpub\wwwroot\blog"
doc_root = "C:\Inetpub\wwwroot\blog"
user_dir =
extension_dir = "c:\php5\ext"
enable_dl = On
Zuvor hatte ich Wordpress installiert um zu sehen ob php überhaupt anständig läuft. Nun arbeite ich zu testzwecken erstmal mit dem blog (wordpress) verzeichnis.
Diese Zeile der Anleitung hab ich "ausgelassen" da ich nicht weis wo ich den pfad angeben soll. (ist die php.ini gemeint !?!)
5. Specified the full path to each file being executed.
Hab ich erstmal mit in die ini eingetragen:
7. Ensured that %systemroot%\system32 is in the system path.
Die php datei schaut nun so aus:
<?php
$output = exec("c:\\windows\\system32\\cmd.exe /c $restartVME.cmd");
?>
wobei die php UND die cmd im selben Ordner(Blog) liegen.
Eine Idee wo ich da wieder nen Bock geschossen habe?
- AliG
- Moderator
- Beiträge: 3727
- Registriert: 6. Jun 2007, 17:33
- Wohnort: Salzburg, Österreich
Re: Batch via PHP auf Server starten
Hi!
Hast du denn den vollen Pfad zum .cmd file angegeben? Sind da Leerzeichen im Pfad?
Lass dir mal vorher das Kommando das du bei exec() aufrufst ausgeben, um zu sehen ob das überhaupt richtig ist.
lg Alex
Hast du denn den vollen Pfad zum .cmd file angegeben? Sind da Leerzeichen im Pfad?
Lass dir mal vorher das Kommando das du bei exec() aufrufst ausgeben, um zu sehen ob das überhaupt richtig ist.
lg Alex
-
- Foren-Einsteiger
- Beiträge: 9
- Registriert: 7. Dez 2008, 16:45
Re: Batch via PHP auf Server starten
Wo meinst Du nun.. In der php? Da habe ich es auch mit dem vollen Pfad versucht. Also:
C:\Inetpub\wwwroot\blog\restartVME.cmd
Leider mit dem selben Ergebnis.
Da ich in der php.ini aber auch schon doc_root = "C:\Inetpub\wwwroot\blog" angegeben hatte, ging ich von aus, der schnallt das die Datei da liegt.
Aber meine VB und Batch kenntnisse kann ich mit php wohl vergessen...
via cmd bei eingabe von C:\php5\php.exe $output = exec("c:\\windows\\system32\\cmd.exe /c $restartVME.cmd"); sagt er mir: Could not Open Outputfile.
Nur zur Sicherhit. Die Berechtigungen für alle Files muss das Interntgastkonto IUSR_usw haben.. Weil ich vermute fast das ist ein Berechtigungsproblem.
C:\Inetpub\wwwroot\blog\restartVME.cmd
Leider mit dem selben Ergebnis.
Da ich in der php.ini aber auch schon doc_root = "C:\Inetpub\wwwroot\blog" angegeben hatte, ging ich von aus, der schnallt das die Datei da liegt.
Aber meine VB und Batch kenntnisse kann ich mit php wohl vergessen...
via cmd bei eingabe von C:\php5\php.exe $output = exec("c:\\windows\\system32\\cmd.exe /c $restartVME.cmd"); sagt er mir: Could not Open Outputfile.
Nur zur Sicherhit. Die Berechtigungen für alle Files muss das Interntgastkonto IUSR_usw haben.. Weil ich vermute fast das ist ein Berechtigungsproblem.
-
- Foren-Einsteiger
- Beiträge: 9
- Registriert: 7. Dez 2008, 16:45
Re: Batch via PHP auf Server starten
Ok.. ich habe nun mal die wscript methode via php versucht:
<?php
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("restartVME.lnk", 3, false);
?>
und es kommt ebenfalls die Ausgabe: No input file specified
Irgendwo ist da noch generell der Wurm drin...
<?php
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("restartVME.lnk", 3, false);
?>
und es kommt ebenfalls die Ausgabe: No input file specified
Irgendwo ist da noch generell der Wurm drin...
-
- Foren-Mitglied
- Beiträge: 649
- Registriert: 30. Aug 2009, 13:32
- Kontaktdaten:
Re: Batch via PHP auf Server starten
exec("c:\\windows\\system32\\cmd.exe /c restartVME.cmd");
Wozu hattest du das Dollarzeichen drinnen?
Damit hat PHP versucht eine Datei deren Name in der Variable $restartVME aufzurufen.
Und da du die nrgends deklariert hast kann das natürlich nie und nimmer klappen.
Also lass es weg und fertig.
Wozu hattest du das Dollarzeichen drinnen?
Damit hat PHP versucht eine Datei deren Name in der Variable $restartVME aufzurufen.
Und da du die nrgends deklariert hast kann das natürlich nie und nimmer klappen.
Also lass es weg und fertig.
http://www.der-Leo.de
Meine Server Hardware
Die Software auf meinem Server
OpenVPN auf dem WHS (v1): Teil 1 | Teil 2
Meine Server Hardware
Die Software auf meinem Server
OpenVPN auf dem WHS (v1): Teil 1 | Teil 2
-
- Foren-Einsteiger
- Beiträge: 9
- Registriert: 7. Dez 2008, 16:45
Re: Batch via PHP auf Server starten
Hatte ich alles schon erfolglos versucht.
Problem war unterm Strich die Berechtigung. Das habe ich nun gelöst und alles klappt wie am Schnürchen.
Vielen Dank für Eure Hilfe!!!
Problem war unterm Strich die Berechtigung. Das habe ich nun gelöst und alles klappt wie am Schnürchen.
Vielen Dank für Eure Hilfe!!!
© Home Server Blog · Streamline theme by StudioPress ·