我用Java编写了一个小应用程序,用php编写了一个脚本。我基本上尝试在运行proc_open()函数时使用php自动填写提示。
这是我的Java:
public class InputTester {
public static void main(String[] args){
System.out.println("Output line");
String said = System.console().readLine("Say Something:");
System.out.println("You said: " + said);
}
}
这是我试图用来运行它的PHP:
<?php
$error_output_file = "/tmp/error-output.txt";
$command = "java -jar InputTester.jar";
$descriptorspec = array(
0 => array("pipe", "r"), //stdin
1 => array("pipe", "w"), //stdout
2 => array("file", $error_output_file, "a") //stderr
);
$proc = proc_open($command, $descriptorspec, $pipes);
if (is_resource($proc)) while ($s = fgets($pipes[1])) {
echo $s;
if(strpos($s, "Something:")) fwrite($pipes[0], 'the thing');
}
?>
但是,当我跑的时候 php input_tester.php
我得到的只是: 输出行
然后它关闭。有谁知道为什么?..