Senaste privatannonserna
Prylar säljes, köpes, bytes och skänkes
Säljes
Köpes
Skänkes
- free TORCHLIGHTIdag
| 2012-11-12, 22:33 | #1 |
HerrNilsson30Medlem Plats: Skåne Registrerad: jun 2009 |
Problem med att köra bat i PHP
Hejhej
Jag hjälper en polers att smälla upp en Minecraft-server som han kan stänga av/på via en webbsida. Mitt problem är att httpd.exe äter upp all CPU, vilket jag tror betyder att det finns en loop eller liknande. När jag anropar "Start" så står sidan och tuggar, den startar ju applikationen och kör bat-filen som den ska. Men som sagt äter httpd all CPU och sidan står och tuggar. Jag vill ju att sidan ska gå tillbaka till där den var. Ber om ursäkt för luddig förklaring. Fetmarkerat är mest för test, men samma problem uppstår. Någon som vet vad jag har gjort fel? execute.php <?php
//Starta sessionen
session_start();
set_time_limit(5);
//Kolla om användaren inte är inloggad
if(!isset($_SESSION['username'])){
//Skicka vidare användaren
header("Location: index.php");
exit;
}
if($_GET['action'] == "Start") {
exec ("E:\Minecraftserver\Server.bat");
header("Location: service.php");
exit;
} elseif($_GET['action'] == "Stop") {
exec("E:\Minecraftserver\kill.bat");
header("Location: service.php");
exit;
} else {
echo "Invalid parameter!";
}
header("Location: service.php");
exit;
?>
"C:\Program Files (x86)\Java\jre7\bin\javaw.exe" -Xms1536M -Xmx1536M -jar "E:\Minecraftserver\craftbukkit.jar" -o false pause
__________________
| Malwarebytes | BIOS för grafikkort | HDDScan | Cobian Backup | Bärbar: MacBook Pro, 16GB, 128GB SSD (dualboot Windows 7). Server: ESXi 5.1, i5 3450, 32GB. NAS: Synology DS413, 4st WD RED 3TB. Stationär: ASUS P6T Deluxe v2, 18GB, i7 930, Radeon HD 5870, 120GB SSD. |
|
| 2012-11-12, 22:45 | #2 |
DNWMedlem Registrerad: feb 2012 |
Se notes för exec() (http://se1.php.net/manual/en/function.exec.php) samt ta en extra titt på din batch-fil.
|
|
|
| 2012-11-13, 07:08 | #4 |
HerrNilsson30Medlem Plats: Skåne Registrerad: jun 2009 |
Citat:
Nej jag tänker på det också. Men hur ska jag lösa det?
__________________
| Malwarebytes | BIOS för grafikkort | HDDScan | Cobian Backup | Bärbar: MacBook Pro, 16GB, 128GB SSD (dualboot Windows 7). Server: ESXi 5.1, i5 3450, 32GB. NAS: Synology DS413, 4st WD RED 3TB. Stationär: ASUS P6T Deluxe v2, 18GB, i7 930, Radeon HD 5870, 120GB SSD. |
|
| 2012-11-13, 07:14 | #5 |
firechildMedlem Plats: Helsingfors / Finland Registrerad: dec 2004 |
Testa att köra med följande istället - det borde fungera då start-kommandot kör programmet separat och torde därmed returnera tillbaka till php. Har dock inte testat det men värt att kika på. Alternativt testa lägg in start-kommandot in i din bat-fil.
exec ("start E:\Minecraftserver\Server.bat");
|
|
|
| 2012-11-13, 07:21 | #6 |
HerrNilsson30Medlem Plats: Skåne Registrerad: jun 2009 |
Citat:
EDIT: Så fort jag dödar java-processen och cmd-processen så slutar den tugga. Känns som att den väntar på något ändå. Senast redigerad av HerrNilsson30 2012-11-13 klockan 07:33.
__________________
| Malwarebytes | BIOS för grafikkort | HDDScan | Cobian Backup | Bärbar: MacBook Pro, 16GB, 128GB SSD (dualboot Windows 7). Server: ESXi 5.1, i5 3450, 32GB. NAS: Synology DS413, 4st WD RED 3TB. Stationär: ASUS P6T Deluxe v2, 18GB, i7 930, Radeon HD 5870, 120GB SSD. |
|
| 2012-11-13, 10:13 | #7 |
hamreMedlem Plats: Uppsala Registrerad: apr 2003 |
Detta står på php.net om exec.
If a program is started with this function, in order for it to continue running in the background, the output of the program must be redirected to a file or another output stream. Failing to do so will cause PHP to hang until the execution of the program ends. Så php väntar på att ditt program ska sluta köra. Så om du vill att programmet fortfarande ska köra så testa med att lägga till /B efter start |
|
|
| 2012-11-13, 10:24 | #8 |
HerrNilsson30Medlem Plats: Skåne Registrerad: jun 2009 |
Citat:
__________________
| Malwarebytes | BIOS för grafikkort | HDDScan | Cobian Backup | Bärbar: MacBook Pro, 16GB, 128GB SSD (dualboot Windows 7). Server: ESXi 5.1, i5 3450, 32GB. NAS: Synology DS413, 4st WD RED 3TB. Stationär: ASUS P6T Deluxe v2, 18GB, i7 930, Radeon HD 5870, 120GB SSD. |
|
| 2012-11-13, 12:15 | #10 |
HerrNilsson30Medlem Plats: Skåne Registrerad: jun 2009 |
Löstes genom att köra pclose(popen("start /B Server.bat", "r"));
__________________
| Malwarebytes | BIOS för grafikkort | HDDScan | Cobian Backup | Bärbar: MacBook Pro, 16GB, 128GB SSD (dualboot Windows 7). Server: ESXi 5.1, i5 3450, 32GB. NAS: Synology DS413, 4st WD RED 3TB. Stationär: ASUS P6T Deluxe v2, 18GB, i7 930, Radeon HD 5870, 120GB SSD. |
|
Redaktionens senaste nyhetsrubriker
Prylar säljes, köpes, bytes och skänkes