2013-10-10 66 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

相關問題