PHP中的Java:通过从控制台读取执行程序

PHP中的Java:通过从控制台读取执行程序,java,php,javac,Java,Php,Javac,我正在尝试使用PHP的exec函数在PHP中运行Java程序。但是考虑这个示例程序: import java.util.Scanner; public class MyProgram { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Ent

我正在尝试使用PHP的exec函数在PHP中运行Java程序。但是考虑这个示例程序:

    import java.util.Scanner;

    public class MyProgram
    {
        public static void main(String[] args)
        {
            Scanner input = new Scanner(System.in);

            System.out.print("Enter your name: ");
            String name = input.nextLine();

            System.out.println("Hi " + name);
        }//end main
    }//end class MyProgram
但问题是,当我执行一个这样的程序时,我会得到错误:

    Exception in thread "main" java.util.NoSuchElementException: No line found
    at java.util.Scanner.nextLine(Scanner.java:1585)
    at HelloWorld.main(HelloWorld.java:7)
这可能是因为在我的网络浏览器上,我缺少一个控制台。eclipse、netbeans、终端/命令提示符等IDE为我提供了一个,但如何为web浏览器提供一个呢

PHP代码示例:

    <?php
        exec('javac MyProgram.java 2>&1');
        exec('java MyProgram 2>&1', $output);

        print_r($output);
    ?>

您是否在与PHP隔离的情况下对此进行了测试?不是100%确定,但System.in应该从控制台读取,因此除非您没有控制台,否则您没有任何可读取的内容。请提供调用Java程序时使用的PHP代码。也许您应该将一些数据传递给新创建的进程的STDIN。请查看。它允许您访问文件STDIN/OUT/ERR处理程序,以便将输入传递给程序