同一应用程序上的两种不同语言 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的主要区别有哪些?哪个最适合Web开发语言?
我可以一次在同一个项目中的两种不同的代码格式配置之间切换吗?
使用 I18n 播放 Framework 2.4.0:同一页面中的两种语言