运行Java应用程序;PHP


Running Java application & PHP

我有一个java程序,它有一个健康的java API,但我想在我的java应用程序和php脚本之间建立一个基本接口,因为这些是我的项目的要求。

我的第一个尝试是编写一个PHP脚本,运行passthru函数来运行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秒加载一个请求)

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

谢谢

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

PHP基本上为每个请求从头到尾运行每个脚本,这是一种非常命令式的编程技术。另一方面,Java通常由模块处理内容,这些模块保留在内存中用于多个请求。要整合两者,您需要考虑的不仅仅是"函数调用",您需要考虑如何将这两个环境清晰地结合起来。

启动java per PHP请求是要求java表现得像PHP一样。换句话说,通过使Java像PHP一样工作,您将放弃使用Java的大多数最佳理由。相反,可以考虑设置一个Tomcat(或类似的东西)实例,并将请求从一个实例传递到另一个实例。换句话说,让PHP向Java环境发出web请求,Java环境处理事情,而不需要完全构建和拆卸Java解释器(这就是PHP处理事情的方式)。

我假设因为您尝试使用JAR,所以可以将PHP和Java放在同一台机器上。您可能会发现这篇关于PHP中的Java集成的文档非常令人兴奋。请注意,我从未使用过它,我只知道它存在。请务必阅读介绍