代码之家  ›  专栏  ›  技术社区  ›  Daniyaal Khan

PHP shell_exec()不会执行屏幕命令来运行.jar文件

  •  1
  • Daniyaal Khan  · 技术社区  · 11 年前

    我正在Ubuntu的minecraft控制面板上工作,因此我需要使用shell_exec()启动/停止.jar文件;

    当我尝试像“whoami”这样的命令时,输出是正常的。但当我尝试这个时:

    shell_exec("screen -dmS mcsrv java -Xmx512M -jar /var/www/srv/craftbukkit.jar -o true nogui");
    

    它不做任何事情,我也检查了权限,www数据是文件的所有者

    1 回复  |  直到 11 年前
        1
  •  1
  •   VolkerK    11 年前

    尝试将标准错误流重定向到stdout(通过附加 2>&1 获取该输出并打印它,以检查是否存在有意义的错误消息

    $cmd = "screen -dmS mcsrv java -Xmx512M -jar /var/www/srv/craftbukkit.jar -o true nogui";
    $redirect = '2>&1';
    // using variable substitution only for readability here 
    shell_exec("$cmd $redirect", $output);
    var_dump($output);