我是PHP的初学者。
我想使用PHP执行java .jar文件.jar文件从STDIN
获取输入并在STDOUT
生成输出。要执行jar文件,这就是我在Ubuntu中所做的Linux终端:
./java/bin/java -jar abc.jar
<here goes the STDIN>
Ctrl+D
<The output gets generated here at the STDOUT>
这很完美。但是当我在PHP中复制它时:
$p=shell_exec("./java/bin/java -jar abc.jar $s 0<&-");
当$p
为空时,这会发送STDIN
生成的输出。这肯定意味着$s
没有被传递。我完全确定我的jar文件工作正常,这是PHP脚本我的错误在哪里。任何人都可以指出我的错误?提前谢谢。
答案 0 :(得分:0)
在黑暗中完成拍摄,但是:
$p=shell_exec(sprintf('./java/bin/java -jar abc.jar "%s" 0<&-', addslashes($s)));
可能是$s
包含破坏命令语法的未转义字符的情况。