我有一个具有健康Java API的java程序,但我希望在我的java应用程序和PHP脚本之间构建一个原始接口,因为这些是我项目的要求.
我的第一次尝试是编写一个运行passthru函数的PHP脚本来运行jar.即
passthru("java -jar myjarfile param1 param2 param3")
这有效,但事实证明它很慢,因为jar文件必须启动和执行等.
我的下一个尝试是在Tomcat7上创建一个servlet,并通过curl()命令与PHP连接.即
curl(http://myserver/mywebapp/myservlet?p1=param1&p2=param2&p3=param3);
这有很好的性能,但servlet非常不稳定并且在大约5分钟后崩溃(我每10秒钟加载服务器大约1个请求)
我来Stack Overflow问:我这样做对吗?有没有更好的办法?如何让我的java程序在jvm中运行并使用PHP与它交互?
谢谢
最佳答案
处理事物的Java方法和处理事物的PHP方法之间存在着天壤之别.
原文链接:https://www.f2er.com/java/437953.htmlPHP基本上为每个请求从头到尾运行每个脚本,这相当于一种非常重要的编程技术.另一方面,Java通常通过模块处理内容,这些模块保留在内存中以用于多个请求.要集成这两者,您需要考虑的不仅仅是“函数调用”,您需要考虑如何将这两个环境干净地进行网格划分.
每个PHP请求启动java就要求Java像PHP一样运行.换句话说,通过使其像PHP一样工作,您将放弃使用Java的大多数最佳理由.相反,请考虑设置Tomcat(或类似的)实例并将请求从一个传递到另一个.换句话说,让PHP向Java环境发出Web请求,该环境处理事务而没有完全构建和拆除Java解释器(这是PHP处理事务的方式).