2013-10-10 29 views
3

G'Day,如何与PHP中的java代码进行通信

我有一个需求,需要在PHP脚本中调用java函数。我已经通过PHP的JAVA桥概念,但不能从PHP脚本调用。可能是我的过程是错误的。请找到我已经实施的以下流程。

  1. 步骤-1 C:\ XAMPP \ htdocs中\ Tomcat的\ web应用需要对虫害JavaBridge.war 在该web应用程序。
  2. 步骤 - 2 提取此(JavaBridge.war)文件。然后去 为JavaBridge/WEB-INF/lib目录/复制下面三个文件和害虫进入 C:\ XAMPP \ htdocs中\ tomcat的\ web应用程序\ BIN

    PHP-script.jar PHP-的servlet.jar servlet_api.jar

  3. 步骤-3 编辑Tomcat的CONF/web.xml中。添加以下9条线 标有+:

    + <listener><listener-class>php.java.servlet.ContextLoaderListener</listener-class></listener> 
        + <servlet><servlet-name>PhpJavaServlet</servlet-name><servlet-class>php.java.servlet.PhpJavaServlet</servlet-class> 
        + </servlet> 
        + <servlet><servlet-name>PhpCGIServlet</servlet-name><servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class> 
        + <init-param><param-name>prefer_system_php_exec</param-name><param-value>On</param-value></init-param> 
        + <init-param><param-name>php_include_java</param-name><param-value>Off</param-value></init-param> 
        + </servlet> 
        + <servlet-mapping><servlet-name>PhpJavaServlet</servlet-name><url-pattern>*.phpjavabridge</url-pattern> 
    

    + PhpCGIServlet * .PHP ...

  4. 步 - 4 再次启动Tomcat的。现在你可以添加PHP脚本到tomcat。

  5. 步骤 - 5添加PHP测试文件

    <?php require_once("java/Java.inc"); 
    echo java("java.lang.System")->getProperties(); ?> 
    

    到一些网络上下文中,例如 “实施例”,并浏览到 http://yourHost.com:8080/examples/test.php

其工作正常,但当我在htdocs下运行此文件(http://yourHost.com/test.php)它抛出异常。

如果我已经实施了错误的流程,请告诉我,或者让我知道是否有任何新界面可以解决这个问题。

我非常感谢Adv帮助。

+1

有什么例外? –

+0

谢谢@MattWilson我会尽快给你 – Neil

+0

Warning:require_once():http:// wrapper在服务器配置中被allow_url_include = 0在第二行的C:\ xampp \ htdocs \ test \ testjava.php中禁用 警告:require_once(http:// localhost:8080/JavaBridge/java/Java.inc):未能打开流:在C:\ xampp \ htdocs \ test \ testjava中找不到合适的包装。致命错误:require_once():无法打开所需的'http:// localhost:8080/JavaBridge/java/Java.inc'(include_path ='.; C:\ xampp \ php \ PEAR') C:\ xampp \ htdocs \ test \ testjava.php在线2 – Neil

回答

3

我认为你需要设置你的php.ini以允许url包含。 The docs

+0

谢谢。我正在努力,一旦它能正常工作,让你知道 – Neil

相关问题