代码之家  ›  专栏  ›  技术社区  ›  John Carter

从PHP 5.2运行Java的推荐方法是什么?

  •  1
  • John Carter  · 技术社区  · 15 年前

    我想从PHP 5.2调用Java,在Web服务器上运行,或者从命令行脚本运行。

    从php 4来看,这似乎很简单,只需要安装 PECL Java extension .

    php 4扩展的示例代码:

    <?php
      // get instance of Java class java.lang.System in PHP
      $system = new Java('java.lang.System');
    
      // demonstrate property access
      echo 'Java version=' . $system->getProperty('java.version') . '<br />';
    ?>
    

    但是,这个扩展在PHP5上不存在。

    php 5最接近的替代方案是什么?

    编辑:

    真的,我正在寻找一个类似 任何一个 一个C PHP扩展,或者是由PHP 4 Java扩展提供的。Java程序相当小,只需要在调用之间保留少量的状态,而不需要异步运行。PHP脚本只能同时运行少量实例。

    这还需要部署到多台机器上(运行Ubuntu9.x和DebianLenny),因此安装起来应该很简单。

    5 回复  |  直到 12 年前
        1
  •  3
  •   John Carter    15 年前

    这个项目似乎是个不错的选择: http://php-java-bridge.sourceforge.net/pjb/

        2
  •  2
  •   Community CDub    7 年前

    因为您希望在Java站点保持状态,所以我要么使用Java程序来监听普通套接字,要么使用简单的嵌入式Web服务器。 winstone jetty )如果您更流利地编写servlet。在这个相关问题中还列出了一些其他可能性: What is the best approach for IPC between Java and C++?

        3
  •  0
  •   rsp    15 年前

    现在完全符合你的要求,但是你可以看看高加索的 Resin 尤其是他们 Quercus 这是一个PHP的100% Java实现,它 allows integration of Java and PHP .

        4
  •  0
  •   JAL    15 年前

    我有一个项目,使用Java程序来获取一些数据。很简单,但我发现

     $java_command="cd /var/java_dir && java my_java_program $myparam1 $myparam2";
     $result=exec($java_command,$output,$return_code);
    

    工作很好。

        5
  •  0
  •   Kevin Schroeder    14 年前

    Zend Server 还有一个内置的守护进程,允许您在PHP内访问Java功能。它是开箱即用的。