【问题标题】:Calling PHP function from Java [duplicate]从Java调用PHP函数[重复]
【发布时间】:2012-11-24 17:58:27
【问题描述】:

可能重复:
invoking a php method from java

以前从未遇到过这种情况,所以想了解/知道如何解决这个问题?

目标:从Java调用php函数

假设 Java 代码如下所示

pulic class Testing 
{

String userid;
String pass;
String url;
public static void main (String[] args )
{
   String value1 = checker ( userid, pass, url );
   String value2 = dataGetter ( value1 )
}

public static String checker ( String userid, String pass, String url);
{
  // Code to get authenticated 
}

public static String dataGetter ( value1 );
}

PHP 代码如下所示

 <?php
    $url;
    $size;

    function dataGetter( value1, $size)
    {
     // code to get data from server
    }
 ?>

这可能吗?如果是这样,有人可以解释一下部署将如何工作吗?即java部署在tomcat上,php部署在apache上?

【问题讨论】:

  • IMO 最简单的解决方案是将您的 PHP 代码转换为 Web 服务,并通过 GET/POST/whatever 从您的 java 代码调用它到 Apache。
  • 更好的解决方案是将 PHP 代码移植到 Java 中。
  • 在一个无关的笔记上,杀死蒙娜萨克斯让我成为一只悲伤的熊猫。
  • @Mad-D 然后将其移植到 Java。您可以使用 Apache 的 HTTPClient(更简单)或 HttpURLConnection(标准)代替 cURL。你甚至可以使用cURL in Java
  • @Mad-D 为什么不直接用 Java 编写并使用 java.net.URL 或 java.net.URLConnection

标签: java php php-java-bridge


【解决方案1】:

虽然它们不能直接通信,但您可以让它们以与客户端浏览器可以与服务器通信相同的方式进行通信,也就是说,使用 ajax 和 javascript。通过 jsp 或 php 生成一个页面(不管哪个),通过 ajax 加载一个 php 页面或一个 jsp 页面(或 servlet)。结果是您想要的任何一种情况,通过这种方式,您可以从中获取信息。

或者,您可以创建一个 Java 程序,该程序打开到 php 页面的连接,如果您不想使用浏览器,则使用返回的内容。

当然,我假设您处于一种奇怪的情况,您不能简单地放弃一种技术来使用另一种技术,否则我强烈建议您使用该解决方案。但是,由于这些事情通常会发生,如果您在项目中过于深入而无法立即退出,那么这也适合您。

【讨论】:

    【解决方案2】:

    通过command-line 或通过http 使用java.net.URL 调用PHP。

    【讨论】:

      猜你喜欢
      • 2012-06-11
      • 2012-01-03
      • 1970-01-01
      • 2016-08-18
      • 2012-11-29
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多