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代码
发布评论