我有两台机器:
10.1.1.33
)10.1.1.34
)第一台机器(Apache)可以从第二台机器(Glassfish)访问Java.inc文件
http://10.1.1.34:8080/projectname/java/Java.inc
有一个防火墙设置,允许从8080
(Apache
)计算机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文件夹中。
以下是桥接设置的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>
问题:
答案 0 :(得分:0)
The documentation states that you need to configure this yourself
将PHP / Java Bridge库添加到Java应用程序
将JavaBridge.jar复制到当前目录。
- 醇>
将JavaBridge.jar添加到Java应用程序中。像这样编辑清单MANIFEST.MF:
主班:HelloWorld
Class-Path:JavaBridge.jar
- 打开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]);
}
}
- 重新编译Java应用程序。
醇>