java call php and run php code
网上看了许多资料,调用PHP的方法都比较繁琐,php-fpm用起来也不方便,一个比较简单的调用PHP的方法如下。

在存放着需要运行的PHP文件目录下运行:

php -S 127.0.0.1:8000

这个命令是开启轻量级的PHP服务,不推荐大规模调用时使用。

然后Java程序监听端口,比如说监听到一个HTTP的POST请求,那么Java服务端程序就重新向PHP的这个端口发生请求,示例代码如下:

            try {
            	String postedStr = "loginName=cxk&password=cxk";
                Socket socket = new Socket("127.0.0.1", 8000);
                String path = "/login.php";
                BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
                wr.write("POST " + path + " HTTP/1.0\r\n");
                wr.write("Content-Length: " + postedStr.length() + "\r\n");
                wr.write("Content-Type: application/x-www-form-urlencoded\r\n");
                wr.write("\r\n");

                wr.write(postedStr);
                wr.flush();

                BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String line;
                while ((line = rd.readLine()) != null) {
                    System.out.println("line is  "+line);
                    responseData=line;
                }
                wr.close();
                rd.close();
            } catch (IOException e) {
                System.out.println("php error!");
                e.printStackTrace();
            }

然后php调用的返回结果就有了,再把这个返回结果传给浏览器就可以了。

更多推荐

Java调用PHP,跑PHP代码