.bat Datei über webseite starten mittels PHP
Hallo,
wie im Titel beschrieben, möchte ich gerne eine .bat Datei über einen Link auf einer Website starten.
Die .bat soll einen Terraria-Game-Server starten bzw. auch eine Datei um ihn zu stoppen.
Ich habe bereits gegooglet aber leider bin ich nach langer Sucherei auf keine paasende Lösung gestoßen.
Ich hoffe ihr könnt mir helfen!
Server: Windows Server 2008R2 Std. mit IIS 7.5
wie im Titel beschrieben, möchte ich gerne eine .bat Datei über einen Link auf einer Website starten.
Die .bat soll einen Terraria-Game-Server starten bzw. auch eine Datei um ihn zu stoppen.
Ich habe bereits gegooglet aber leider bin ich nach langer Sucherei auf keine paasende Lösung gestoßen.
Ich hoffe ihr könnt mir helfen!
Server: Windows Server 2008R2 Std. mit IIS 7.5
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 219928
Url: https://administrator.de/forum/bat-datei-ueber-webseite-starten-mittels-php-219928.html
Ausgedruckt am: 09.04.2025 um 02:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo m.reeger,
das kann z.B. die PHP-Funktion exec() kann dies für dich bewerkstelligen. (Beispiele finden sich weiter unten auf der Seite.)
Auf deiner HTML-Seite baust du dann einen Link zu deiner PHP-Seite ein, welches dann deine Batch-Datei ausführt.
Du solltest aber auf jeden Fall sicherstellen das du das Script bzw. die Seite entsprechend im Zugriff beschränkst, so dass nicht jeder deinen Game-Server aus und einschalten kann ...
Grüße Uwe
das kann z.B. die PHP-Funktion exec() kann dies für dich bewerkstelligen. (Beispiele finden sich weiter unten auf der Seite.)
Beispiel (ohne jegliche Sicherheitsvorkehrungen):
<?php
exec('cmd.exe /c "C:\start_gameserver.cmd"');
?>
Du solltest aber auf jeden Fall sicherstellen das du das Script bzw. die Seite entsprechend im Zugriff beschränkst, so dass nicht jeder deinen Game-Server aus und einschalten kann ...
Grüße Uwe
Zitat von @ITAllrounder:
Also z.B dass ich auf dem Webserver Netzlaufwerke zu den Gameservern hinzufüge und somit dann z.B auf die .bat zugreife. also
<?php
exec('cmd.exe /c "X:\gameserver1\start.bat"');
exec('cmd.exe /c "Z:\gameserver1\start.bat"');
exec('cmd.exe /c "P:\gameserver1\start.bat"');
Nein, die Also z.B dass ich auf dem Webserver Netzlaufwerke zu den Gameservern hinzufüge und somit dann z.B auf die .bat zugreife. also
<?php
exec('cmd.exe /c "X:\gameserver1\start.bat"');
exec('cmd.exe /c "Z:\gameserver1\start.bat"');
exec('cmd.exe /c "P:\gameserver1\start.bat"');
net start / net stop
Befehle für die Dienste würden dann ja lokal auf dem Web-Server ausgeführt. Eine Möglichkeit wäre die Batch-Datei via PSEXEC Befehl auf den Gameservern auszuführen.Ungetestet etwa so
exec('c:\\WINDOWS\\system32\\psexec.exe \\SERVER-IP -u myuser -p mypassword -accepteula cmd.exe /c "c:\start.bat"');
Da gabs schon mal so einen Thread:
.bat via PHP auf Webserver starten
.bat via PHP auf Webserver starten
Zitat von @ITAllrounder:
So ich habe das ganze mal getestet aber mein Browser bleibt leider weiß und die .bat öffnet sich nicht.
Das ist doch klar, du gibst in der PHP-Datei ja keinerlei Ausgaben aus ! Da kann also nichts erscheinen ...So ich habe das ganze mal getestet aber mein Browser bleibt leider weiß und die .bat öffnet sich nicht.
Was mache ich falsch?
Versuche zuerst mal die PSEXEC-Zeile manuell auf der Kommandozeile zum laufen zu bringen bevor du es in ein PHP-Script einbaust, wenn dies dann funktioniert sehen wir weiter. Meist liegt es an nicht korrekt eingestellten Berechtigungen, außerdem müssen Port 445 und 139 auf den Remote-Servern freigeschaltet sein damit PSEXEC arbeiten kann.