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

如何知道/更改PHP Java网桥端口号,java,php,security,glassfish,php-java-bridge,Java,Php,Security,Glassfish,Php Java Bridge,我有两台机器: 首先是PHP+Apache for WebApp(10.1.1.33) 其次是Glassfish,用于后端任务和报告等(10.1.1.34) 第一台机器(Apache)可以从第二台机器(Glassfish)访问Java.inc文件 有一个防火墙设置,允许8080从Apache(10.1.1.33)机器访问Glassfish(10.1.1.34)机器。我认为这就是为什么Java.inc是可访问的,然而phpjavabridge为其余的通信保留了一个单独的端口。除非添加特定的保留端口

我有两台机器:

  • 首先是PHP+Apache for WebApp(
    10.1.1.33
  • 其次是Glassfish,用于后端任务和报告等(
    10.1.1.34
  • 第一台机器(Apache)可以从第二台机器(Glassfish)访问Java.inc文件

    有一个防火墙设置,允许
    8080
    Apache
    10.1.1.33
    )机器访问
    Glassfish
    10.1.1.34
    )机器。我认为这就是为什么
    Java.inc
    是可访问的,然而
    phpjavabridge
    为其余的通信保留了一个单独的端口。除非添加特定的保留端口,否则我的应用程序不会工作。 作为一种解决方法,我添加了一条规则,允许来自Apache机器的任何端口

    allow 0-65535 from 10.1.1.33
    
    这似乎不是个好主意,因为我必须关闭所有端口,只允许真正需要的端口

    Java端配置 下面的jar文件被复制到JavaWeb项目的lib文件夹中

  • JavaBridge.jar
  • php-script.jar
  • php-servlet.jar
  • 下面是桥梁设置web项目的
    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>
    
    
    php.java.servlet.ContextLoaderListener
    PhpJavaServlet
    php.java.servlet.PhpJavaServlet
    PhpJavaServlet
    *.phpjavabridge
    
    问题:

  • php java桥是否保留了修复端口
  • 我们能知道保留了哪个端口吗
  • 我们可以指定我们选择的端口号吗

  • 将PHP/Java桥库添加到Java应用程序中
  • 将JavaBridge.jar复制到当前目录

  • 将JavaBridge.jar添加到Java应用程序中。编辑manifest.MF,如下所示:

  • 主类:HelloWorld
    类路径:JavaBridge.jar

  • 为PHP打开一个通信端口。按如下方式编辑HelloWorld.java:
  • 重新编译Java应用程序

  • 我们如何验证网桥是否真的在使用这个端口。除了在上述指定环境中部署应用程序之外?希望在本地测试。上述方法适用于独立应用程序。
    <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>
    
    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]);
      }
    }