java php bridge吧_使用Php-Java Bridge

我无法正确设置Php-Java Bridge设置.

我会解释我做了什么.

>我的网站是纯PHP

>对于我们的支付交易流程,我们需要设置一个php-java桥

>我按照此链接设置了桥梁PHP-JAVA BRIDGE INSTALATION.

>在这里,我了解到我需要一个私有的jvm来安装这个桥.

>所以我使用我的c-panel在Private JVM中安装了apache-tomcat-6.0.14.安装后,它要求我将域映射到私有JVM.所以我将我的域example.com(这是唯一可用的选项)映射到它.

>然后它要求启用从Apache Web服务器到我的Java应用程序服务器的流量重定向(有一个复选框,我点击它)

>最后它要求我部署WAR文件(JavaBridge.WAR是我的文件)并且everthing似乎很好

>现在当我去http://example.com/JavaBridge/时,我可以看到javabridge示例,它运行正常.

到现在为止还挺好

现在我的问题从这里开始,当我尝试从php访问java类文件.我创建了一个示例test.php,并将以下代码放入其中.

require_once("http://example.com:portnumber/JavaBridge/java/Java.inc");

$System = java("java.lang.System");

echo $System->getProperties(); //This Part echo's correctly and shows the data so it means i can access Java.inc Correctly

$path_e24class = getcwd(). '/e24PaymentPipe.class'; //This part fails both test.php and java class file e24PaymentPipe.class are in the same directory in publich_html folder

java_require($path_e24class);

$pipe = new Java("e24PaymentPipe");

$pipe->setAction("1");

?>

我的站点内容位于public_html文件夹中,WAR文件部署在私有jvm中.

这些是我收到的错误消息.

1) Warning: java_require() not supported anymore. Please use tomcat or jee hot deployment instead

Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: CreateInstance failed: new e24PaymentPipe. Cause: java.lang.ClassNotFoundException: e24PaymentPipe VM: 1.6.0_22@http://java.sun.com/" at: #-10

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358) #-9

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) #-8

java.lang.Class.forName0(Native Method) #-7

java.lang.Class.forName(Class.java:247) #-6

php.java.bridge.Util.classForName(Util.java:1518) #-5

php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445) #-4

php.java.bridge.Request.handleRequest(Request.java:458) #-3

php.java.bridge.Request.handleRequests(Request.java:500) #-2

php.java.bridge.http.ContextRunner.run(ContextRunner.java:145) #-1

php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60) #0

http://example.com:portnumber/JavaBridge/java/Java.inc(232): java_ThrowExceptionProxyFactory->getProxy(3, 'java.util.Prope...', 'T', false) #1

最后我对java不太了解.所以我被困在这里不知道该怎么做.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.安装jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe,一路next。 2.把下载的JavaBridge.jar直接用winrar打开,把这个jar包拷到 你的php目录的ext/下。 3.打开war包,里面有个java的文件夹,把他全部拷到你的项目下,如/demo/java 4.目前的版本是VMBridge了,要php调用java类,要先启动JavaBridge,为了以后启动方便,我在ext/下新建了一个bat文件内容如下: @echo off start javaw -jar JavaBridge.jar 保存后,双击启动 会有一个提示框选择vmbridge port 默认8080,直接点ok就行了 5.在/demo/下新建test.php内容如下: <?php require_once ( "java/Java.inc" ); header( "content-type:text/html; charset=utf-8" ); // get instance of Java class java.lang.System in PHP $system = new Java( 'java.lang.System' ); $s = new Java( "java.lang.String" , "php-java-bridge config...<br><br>" ); echo $s ; // demonstrate property access print 'Java version=' . $system ->getProperty( 'java.version' ). ' <br>' ; print 'Java vendor=' . $system ->getProperty( 'java.vendor' ). ' <br>' ; print 'OS=' . $system ->getProperty( 'os.name' ). ' ' . $system ->getProperty( 'os.version' ). ' on ' . $system ->getProperty( 'os.arch' ). ' <br>' ; // java.util.Date example $formatter = new Java( 'java.text.SimpleDateFormat' , "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz" ); print $formatter ->format( new Java( 'java.util.Date' )); ?> 6.启动apache,在浏览器中查看 http://localhost/demo/test.php 会看到如下信息: php-java-bridge config... Java version=1.6.0_10 Java vendor=Sun Microsystems Inc. OS=Windows Vista 6.0 on x86 星期日, 十一月 23, 2008 at 4:31:49 下午 中国标准时间 说明成功了,你可以在php中调用java了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值