【问题标题】:How to Know/Change PHP Java Bridge port number如何知道/更改 PHP Java Bridge 端口号
【发布时间】:2015-04-07 11:42:40
【问题描述】:

我有 2 台机器:

  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

有一个防火墙设置,允许8080Apache(10.1.1.33) 机器访问Glassfish (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

这是用于网桥设置的网络项目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. 我们可以指定我们选择的端口号吗?

【问题讨论】:

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


    【解决方案1】:

    The documentation states that you need to configure this yourself


    将 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 应用程序。

    【讨论】:

    • 我们如何验证网桥确实在使用这个端口。除了在上述指定环境中部署应用程序?想在本地测试一下。
    • 以上方法适用于独立应用。
    猜你喜欢
    • 2017-07-06
    • 1970-01-01
    • 2020-09-20
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    相关资源
    最近更新 更多