同一应用程序上的两种不同语言 PHP 和 Java,Apache 上的 PHP 和 Tomcat 上的 Java

Posted

技术标签:

【中文标题】同一应用程序上的两种不同语言 PHP 和 Java,Apache 上的 PHP 和 Tomcat 上的 Java【英文标题】:Two different languages PHP and Java on same application with PHP on Apache and Java on Tomcat 【发布时间】:2011-05-19 19:30:55 【问题描述】:

我也很难对这个问题进行分类。所以请耐心等待我解释这个问题。

我们有两个不同的应用程序:

    XAMPP 上的 php 和 Tomcat 上的 Java

现在我们有了一个合并这两种产品的商业案例。即,PHP 产品应该看起来与 Java 应用程序没有什么不同,它也应该是 Java 应用程序的一部分。 (出现在 Java 应用程序的选项卡之一中)

CSS 部分可以小心。但复杂的部分是如何整理这两个应用程序?

我们还在 Java 中使用 Tomcat,在 PHP 中使用 Apache, 在这种情况下,我们如何将产品捆绑在一起。

我试过谷歌搜索,但大多数都指向有 apache 和 tomcat 连接器等。 但是我仍然不清楚如何实现这种无缝集成。

其他信息:

--- Java 应用程序:数据库:mysql、Maven、Servlet、Spring、Struts、Hibernate --- PHP 应用程序:XAMPP(或某些情况下的 LAMP)

如果我遗漏了任何细节,请告诉我。

【问题讨论】:

如果我没记错的话,Resin 包含一个 PHP Servlet,用于在 java 应用程序 servler 中运行 php 脚本。 【参考方案1】:

我可以通过 mod_proxy 让 Apache 与 Tomcat 对话。 实际上,我参考了以下链接以使其正常工作(主要更改为 Apache 中的 httpd.conf 和 Tomcat 中的 server.xml):

http://tomcat.apache.org/tomcat-5.5-doc/proxy-howto.html http://confluence.atlassian.com/display/DOC/Using+Apache+with+mod_proxy http://publib.boulder.ibm.com/infocenter/cqhelp/v7r0m0/index.jsp?topic=/com.ibm.rational.clearquest.webadmin.doc/rwp/t_config_mod_proxy_support.htm

然后我按照 [此链接][1] 使用 Apache 配置 PHP,并使用 Apache 配置 PHP。

因此,作为一个测试程序,我可以从像 http://localhost/example/servlet 这样的 Apache 访问 servlet 程序 (Tomcat),然后也可以使用像 http://localhost/phptest 这样的 URL 访问 PHP 程序

蔡司、保罗和文森特。感谢你的帮助。尽管我还有很长的路要走,但这看起来像是起点。

=== httpd.conf in Apache server ===

# enable the below or add new
LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

# Start Modules for PHP
LoadModule php5_module "c:/php/php5apache2_2.dll"

AddHandler application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "c:/windows"

# Just at the end of 'Main' server configuration - add the below
ProxyRequests On 
ProxyVia On 
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /examples http://localhost:8080/examples/
ProxyPass /servlets http://localhost:8080/examples/servlets/
ProxyPass /jsp http://localhost:8080/examples/jsp/
ProxyPassReverse /examples http://localhost:8080/examples/

# Finish Modules for PHP

=== server.xml in Tomcat ===
<!-- searched the below connector port=8080 and I replaced that tag with the below -->
 <Connector port="8080" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true"
           proxyName="http://localhost" proxyPort="80"/>

【讨论】:

【参考方案2】:

也许这个tutorial 会有所帮助。虽然我自己没有尝试过,所以我不能肯定。

【讨论】:

感谢大家的建议。让我一一检查 :-) 如果我发现任何问题,请回复您。【参考方案3】:

通过 apache 提供的两个应用程序应该不是问题,请查看 mod_jk 这意味着您的 java web 应用程序仍在 tomcat 上运行,无论如何它都必须这样做。

【讨论】:

以上是关于同一应用程序上的两种不同语言 PHP 和 Java,Apache 上的 PHP 和 Tomcat 上的 Java的主要内容,如果未能解决你的问题,请参考以下文章

PHP和Java的主要区别有哪些呢?

PHP和Java的主要区别有哪些?哪个最适合Web开发语言?

我可以一次在同一个项目中的两种不同的代码格式配置之间切换吗?

使用 I18n 播放 Framework 2.4.0:同一页面中的两种语言

maven警告:使用同一工件的两种不同类型的依赖项时重复版本

rails同一页面上不同控制器的两种形式