如何知道/更改PHP Java Bridge端口号


How to Know/Change PHP Java Bridge port number

我有两台机器:

  1. 首先使用PHP+Apache for WebApp(10.1.1.33
  2. 第二个是Glassfish,用于后端任务和报告等(10.1.1.34

第一台机器(Apache)可以从第二台机器(Glassfish)访问Java.inc文件

http://10.1.1.34:8080/projectname/java/Java.inc

有一个防火墙设置,允许8080Apache10.1.1.33)计算机访问Glassfish10.1.1.34)计算机。我认为这就是为什么Java.inc是可访问的,但PHP-Java-Bridge为其余通信保留了一个单独的端口。除非添加特定的保留端口,否则我的应用程序将无法工作。作为一个变通办法,我添加了一条规则,允许Apache机器上的任何端口。

allow 0-65535 from 10.1.1.33

这似乎不是一个好主意,因为我必须关闭所有端口,只允许真正需要的端口。

Java端配置以下jar文件被复制到Java Web Project的lib文件夹中。

  1. JavaBridge.jar
  2. php-script.jar
  3. php-servlet.jar

以下是桥梁设置网络项目web.xml的一部分

<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-mapping>
       <servlet-name>PhpJavaServlet</servlet-name>
       <url-pattern>*.phpjavabridge</url-pattern>
   </servlet-mapping>

问题:

  1. php-java桥是否保留了修复端口
  2. 我们能查一下预订了哪个端口吗
  3. 我们可以指定我们选择的端口号吗

文档说明您需要自己配置


将PHP/Java Bridge库添加到Java应用程序中

  1. 将JavaBridge.jar复制到当前目录。

  2. 将JavaBridge.jar添加到您的Java应用程序中。编辑清单manifest。MF像这样:

主要类别:HelloWorld
类路径:JavaBridge.jar

  1. 为PHP打开一个通信端口。编辑HelloWorld.java如下:
import javax.swing.JOptionPane;
public class HelloWorld {
  public static final String JAVABRIDGE_PORT="8087";
  static final php.java.bridge.JavaBridgeRunner runner = 
    php.java.bridge.JavaBridgeRunner.getInstance(JAVABRIDGE_PORT);
  public static void main(String args[]) throws Exception {
    runner.waitFor();
    System.exit(0);
  }
  public void hello(String args[]) throws Exception {
    JOptionPane.showMessageDialog(null, "hello " + args[0]);
  }
}
  1. 重新编译Java应用程序