Я написал небольшое приложение на Java и скрипт на php. Я в основном пытаюсь автоматически заполнить приглашение с помощью php при запуске функции proc_open ().
Вот моя 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
Все, что я получаю, это:
Выходная строка
а потом закрывается. Кто-нибудь знает почему? ..
Задача ещё не решена.
Других решений пока нет …