运行Java应用程序和PHP

Tuc*_*ker 5 php java api

我有一个具有健康Java API的java程序,但我希望在我的java应用程序和php脚本之间构建一个原始接口,因为这些是我项目的要求.

我的第一次尝试是编写一个运行passthru函数的PHP脚本来运行jar.即

passthru("java -jar myjarfile param1 param2 param3")
Run Code Online (Sandbox Code Playgroud)

这有效,但事实证明它很慢,因为jar文件必须启动和执行等.

我的下一个尝试是在Tomcat7上创建一个servlet,并通过curl()命令与PHP连接.即

curl(http://myserver/mywebapp/myservlet?p1=param1&p2=param2&p3=param3);
Run Code Online (Sandbox Code Playgroud)

这有很好的性能,但servlet非常不稳定并且在大约5分钟后崩溃(我每10秒钟加载服务器大约1个请求)

我来Stack Overflow问:我这样做对吗?有没有更好的办法?如何让我的java程序在jvm中运行并使用PHP与它交互?

谢谢

Edw*_*uck 3

Java 处理事物的方法和 PHP 处理事物的方法之间有天壤之别。

PHP 基本上针对每个请求从头到尾运行每个脚本,这相当于一种非常命令式的编程技术。另一方面,Java 通常通过保留在内存中的模块来处理多个请求的内容。要集成两者,您需要考虑的不仅仅是“函数调用”,您还需要考虑如何将这两个环境干净地结合起来。

针对每个 PHP 请求启动 java 就是要求 Java 表现得像 PHP。换句话说,如果让 Java 像 PHP 一样工作,您将放弃使用 Java 的大部分最佳理由。相反,请考虑设置一个 Tomcat(或类似的东西)实例并将请求从一个实例传递到另一个实例。换句话说,让 PHP 向 Java 环境发出 Web 请求,Java 环境无需完全构建和拆卸 Java 解释器即可处理事务(这就是 PHP 处理事务的方式)。