G'日,
我有一个需求,需要在 PHP 脚本中调用 java 函数。我已经了解了 PHP JAVA Bridge 概念,但无法从 PHP 脚本调用。可能是我的流程错了。请找到我已实施的以下过程。
- step -1 C:\xampp\htdocs\tomcat\webapp 需要在这个 webapp 中破坏 JavaBridge.war。
步骤 - 2 提取此 (JavaBridge.war) 文件。然后去 JavaBridge/WEB-INF/lib/ 复制下面三个文件并害虫到 C:\xampp\htdocs\tomcat\webapp\bin
php-script.jar php-servlet.jar servlet_api.jar
步骤 -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 再次启动 Tomcat。现在您可以将 PHP 脚本添加到 tomcat。
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 的帮助。