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

时间:2015-04-07 11:42:40

标签: java php security glassfish php-java-bridge

我有两台机器:

  1. 首先使用PHP + Apache for WebApp(10.1.1.33
  2. 第二次使用Glassfish进行后端任务和报告等(10.1.1.34
  3. 第一台机器(Apache)可以从第二台机器(Glassfish)访问Java.inc文件

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

    有一个防火墙设置,允许从8080Apache)计算机10.1.1.33Glassfish)计算机进行10.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
    4. 以下是桥接设置的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>
      

      问题:

      1. 是否有php-java-bridge保留的修复端口?
      2. 我们能找出保留的端口吗?
      3. 我们可以指定所选的端口号吗?

1 个答案:

答案 0 :(得分:0)

The documentation states that you need to configure this yourself


  

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

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

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

  4.         

    主班:HelloWorld
      Class-Path:JavaBridge.jar

         
        
    1. 打开PHP的通信端口。像这样编辑HelloWorld.java:
    2.   
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应用程序。
  2.