3

G'日,

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

  1. step -1 C:\xampp\htdocs\tomcat\webapp 需要在这个 webapp 中破坏 JavaBridge.war。
  2. 步骤 - 2 提取此 (JavaBridge.war) 文件。然后去 JavaBridge/WEB-INF/lib/ 复制下面三个文件并害虫到 C:\xampp\htdocs\tomcat\webapp\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. step - 5 添加 PHP 测试文件

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

    到一些 Web 上下文,例如“示例”,然后浏览到 http://yourHost.com:8080/examples/test.php

它工作正常,但是当我在 htdocs ( http://yourHost.com/test.php ) 中运行这个文件时,它会抛出异常。

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

我非常感谢 Adv 的帮助。

4

1 回答 1

3

我认为您需要将 php.ini 设置为允许包含 url。文档

于 2013-10-10T06:03:24.180 回答