This is a source code to control a minecraft server over a web interface with a MySQL server. Everything works fine except of line 29, which doesn t seem to be executed. there simply doesn t appear anything in the servers cin. Also there doesn t happen anything... Does anyone have an idea, for why this is so?
<?php
echo("Successfully Loaded.
");
include("../src/func.php");
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", "../log/server.log", "a"));
$cwd = ;
$outpt = "../log/server.log";
$ru_file = "runlevel.state";
echo("Starting Server...
");
$process = proc_open( java -Xincgc -Xmx640M -jar craftbukkit.jar , $descriptorspec, $pipes, $cwd, $_ENV);
$log_handle = fopen($outpt,"w");
echo("Starting Daemon...
");
$run = 1;
while($run == 1)
{
$handle = fopen($ru_file,"r");
$run = (int)fread($handle, filesize($ru_file));
fclose($handle);
$mysqli = mopen();
$query = $mysqli -> prepare("SELECT ID, Command, Urheber FROM tbl_cmds WHERE passed = 0 ");
echo($mysqli->error);
$query -> execute();
$query -> store_result();
$query -> bind_result($id, $command, $who);
while($query -> fetch())
{
fwrite($pipes[0], $command);
$datum = date("d.m.Y H:i:s",time());
echo("[$datum] Executed command $command by User with ID ($who)
");
$mysqli2 = mopen();
$query2 = $mysqli2 -> prepare("UPDATE tbl_cmds SET passed = 1 WHERE ID = ?");
echo($mysqli2->error);
$query2 -> bind_param("i", $id);
$query2 -> execute();
}
}
echo("Daemon Stopped...
");
fclose($pipes[0]);
fclose($log_handle);
proc_close($process);
echo("Server Stopped...
");
echo("Exiting with code 0x0...
");
?>