在Java web应用程序中集成php模块


Integrate a php module in a Java web application

我正在使用j2ee技术开发一个企业应用程序。我也有一些php应用程序。我想将php应用程序合并到我的企业应用程序中,以增强功能,而无需在j2ee中重写代码。谁能告诉我怎么做这件事?我对此做了一些研究,发现了以下选项

  1. PHP,Java bridge -在这里,我将在apache服务器后面运行tomcat。php模块位于apache中,j2ee应用程序位于tomcat中。这似乎与我希望我的应用程序运行的方式相反。当用户在j2ee应用程序中注册时,也将使用在php中构建的模块。所以我希望我的tomcat服务器在前面。
  2. 在tomcat上安装php并在tomcat服务器上运行php模块。我尝试了很多次,用PHP5+和tomcat6+配置这个,但不能这样做。我也找不到合适的php &可以一起工作的Tomcat版本组合。

请帮我找到最好的选项(打开任何新的选项以及)保持应用程序的性能。

在Apache httpd上运行PHP部分,在Tomcat"后面"运行java部分并没有那么错。事实上Tomcat在apache服务器后面只是一个连接流的问题,但是来自用户的POV/forum/page.php将由PHP处理,而/supercomputation/dothat将由java处理。

唯一的问题是你如何把两者放在同一个页面上,如果你需要的话,因为在这种情况下,只有服务器端包含,iframes或javascript弹出在我的脑海里。

另一种方法是在单独的服务器上安装PHP,甚至在不同的端口上安装另一个httpd,最终只侦听127.0.0.1,然后使用java服务器端组件"获取"PHP输出并将其合并到tomcat生成的页面中。

这听起来可能有点难,但是一点也不难,已经有很多框架支持了,而且我已经看到很多网站在生产中使用基于java的"前端"来聚合来自其他PHP和Python子系统的内容。

无论您决定采用什么解决方案,您都需要在两个系统之间建立一些协调…例如,对用户进行单一认证。如何做到这一点在很大程度上取决于这些应用程序是如何设计的,并且可能需要在这里和那里进行一些调整。