【问题标题】:Hosting php and Java together将 php 和 Java 托管在一起
【发布时间】:2012-12-15 23:48:51
【问题描述】:

我是 Web 开发的新手,请耐心等待,问题是我正在编写一个主要用 PHP 编写的 Web 应用程序。尽管一半的代码已经由其他开发人员用 Java 编写,但我的托管服务器不支持 java。任何人都可以帮助我解决我的选择,我已经用谷歌搜索过,我已经看到一个 php to java bridge 作为一种可能的解决方案。问题是我不能这样做,因为我目前无法托管 java servlet。如果这是我唯一的选择,我将不得不使用不同的托管公司,尽管这不是我的首选解决方案。

我不知道 Java - 是否可以将 java 文件编译成 .class 文件并从我的 php 代码中引用它,我的 Apache 服务器是否可以托管 java .class 文件。

简而言之,我需要托管 Java 和 php 代码以及从我的 php 代码中引用 Java 代码,我可以这样做还是必须在 php 中重写 Java 代码才能使其工作。

【问题讨论】:

  • 关于与在 Java 中完成的应用程序的任何部分进行交互的主题,请参阅Guzzle。这也是为了轻松集成到 Symfony 中而构建的。了解有关SonataKnpBundles 的更多信息。不要重新发明轮子。
  • 有一半的应用程序使用 Java 并切换到 PHP?这就像建造了一半的法拉利并用瓦特堡拖着它。

标签: java php host


【解决方案1】:

1) 大多数 Web 托管站点为 JSP/Servlet(例如 Tomcat)提供一些规定。即使是最便宜的网站托管服务。所以寻找其他供应商不一定是个坏主意。

2) Java 代码不能直接与 PHP 代码对话,PHP 代码也不能直接与 Java 代码对话。

3) 但是:可以将同一个 Web 服务器配置为运行 PHP/Apache 和 Tomcat。例如:

4) 同一个服务器 可以轻松 支持 PHP/Apache 和 Tomcat 作为单独的服务。换句话说,同一主机(例如 www.myserver.com)可以轻松地同时运行 Apache/PHP(例如 http://www.myserver.com:80)和 Tomcat(例如 http://www.myserver.com:8080)。这是一个很常见的配置。

5)不要查看任何“翻译人员”。即使你找到一个声称能够做到这一点的工具,从 PHP 转换为 Java,或从 Java 转换为 PHP,对我来说可能会带来更多的麻烦。

6) 除非有 很多 代码,否则我也不会真正考虑 Web 服务(或 Ajax)。

7) 只需找到支持 Apache/PHP、Tomcat 和您选择的数据库的提供商即可;在您觉得最舒服的任何一个上创建“主页”,并修改您的 PHP 和 JSP 页面以依赖 CSS 以确保两者具有一致的外观和感觉。

这种方法是最简单的...可能正是您所需要的!

祝你好运

【讨论】:

  • 关于“代码转换”vaporware,这是一个很好的观点。微软不是有一个他们不久前发布的将Java“转换”为C#的工具吗?每个人都兴奋起来,然后就出来了;他们提取了“转换后的”文件,整个大量代码被大量注释掉了?随着传输系统和数据层的发展和扩散,您只需开发一个 REST 服务,所有 PHP 和 Rube Rails 极客都可以在您的业务中获得一切。我们有一个 JIRA 系统,我有 VBA 获取报告数据。
  • 您只是建议了如何获得对 Apache 和 Tomcat 的支持,但您所说的没有回答有关如何在两个系统之间创建交互通道的问题。我建议 AJAX 的原因是:PHP 不需要完成 Java 已经完成的工作。因此,只需要求 Java 给您一份如果由用户代理直接调用它会呈现的页面的副本,将其作为响应获取并也呈现它。完成 - 就这么简单。
  • jQuery Ajax 具有 dataType 属性,您可以通过该属性清楚地指定您希望如何接收响应,而 HTML 是选项之一。但他甚至不必对此进行调整,因为 Ajax 可以智能地猜测数据的性质并按预期返回。此方法可能存在的唯一问题是它可能会引入一些延迟。
  • @paulsm4 感谢您的回答,明确澄清了我遇到的一些问题,我不知道目前有托管公司同时支持 Apache/PHP 和 Tomcat 我目前使用 Go Daddy - 来自我可以告诉他们他们已经停止了 Java 托管,再次感谢您的时间回答,非常感谢。
  • 我自己可能会尝试 3) 很快...到目前为止,有人成功了吗?
【解决方案2】:

关于(甚至免费)Java 和 PHP 托管,请尝试Red Hat's OpenShift

关于 PHP 与 Java 交互以及反之亦然 - 有多种方式:

另外,还有Caucho Quercus,PHP 用 Ja​​va 解释。但这是一个死项目 AFAIK

【讨论】:

  • 谢谢@Ondra Žižka,Red Hat 的 OpenShift 项目很有趣,我会研究一下,再次感谢您抽出时间回答,非常感谢。
  • 你可以通过点击向上箭头说出所有这些,节省时间;-)
【解决方案3】:

您不需要任何桥梁。但是您可以将 Java 应用程序用作服务...只需从您的 PHP 向它发出请求(可能使用 AJAX 调用),然后在返回时显示响应。

这是我能提供的最简单的解决方案。

在您提出更多问题之前,我建议您先阅读一下有关 AJAX here 和 Web 服务 here 的信息。 :-)

jQuery Ajax 具有 dataType 属性,您可以通过该属性清楚地指定您希望如何接收响应,而 HTML 是选项之一。但他甚至不必对此进行调整,因为 Ajax 可以智能地猜测数据的性质并按预期返回。此方法可能存在的唯一问题是它可能会引入一些延迟。

您可以通过阅读此doc 了解如何使用 jQuery/Ajax 解决此问题,并阅读有关选项here 的信息。

如果您愿意的话,也请阅读我的 cmets 其他答案...

【讨论】:

  • 非常感谢您的回答,因为我是新手,所以我会寻找一家同时托管 Apache/PHP 和 Tomcat 的托管公司。再次感谢您的时间回答和您提供的资源链接,我将查看那些也用于集成部分
【解决方案4】:

如果不知道您的 Java 和 PHP 是如何编写的,AJAX 可能是您最好的选择。但是可以使用 Quercus 来执行你的 PHP 代码和调用你的 Java 例程,所有这些都在同一个 Java 服务器上。当然,这需要在支持 servlet 的服务器上运行。

@Ondra Žižka,Quercus 还活着,非常感谢:)。

【讨论】:

    【解决方案5】:

    最近我们使用 mod_jk 用于 Apache(用于 PHP)和 JBOSS 用于 JAVA。 因此,基础服务器将是 Apache,并且请求从那里重定向到 JBOSS。 This might be helpful for you

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2015-04-02
      • 2019-03-26
      • 2014-04-06
      • 2017-05-07
      相关资源
      最近更新 更多