3

G'デイ、

PHPスクリプトでJava関数を呼び出す必要があるという要件があります。PHP JAVA Bridge の概念を確認しましたが、PHP スクリプトから呼び出すことはできません。私のプロセスが間違っていたのかもしれません。以下のプロセスを見つけて、私が実装したものを見つけてください。

  1. ステップ -1 C:\xampp\htdocs\tomcat\webapp この webapp に JavaBridge.war をペストする必要があります。
  2. ステップ - 2 この (JavaBridge.war) ファイルを抽出します。次に、JavaBridge/WEB-INF/lib/ に移動し、以下の 3 つのファイルとペストを 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. ステップ - 5 PHP テスト ファイルを追加する

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

    「examples」などの Web コンテキストに移動し、 http://yourHost.com:8080/examples/test.phpを参照します。

正常に動作しますが、htdocs ( http://yourHost.com/test.php ) でこのファイルを実行すると、例外がスローされます。

間違ったプロセスを実装したかどうかを教えてください。または、この問題を解決できる新しいインターフェイスがあるかどうかを教えてください。

Adv のヘルプに感謝します。

4

1 に答える 1

3

URL インクルードを許可するには、php.ini を設定する必要があると思います。ドキュメント

于 2013-10-10T06:03:24.180 に答える