我在设置时遇到问题Php-Java Bridge
设置正确。
我将解释我所做的事情。
- 我的网站是纯php的
- 对于我们的支付交易流程,我们需要建立一个php-java桥
- 我按照此链接设置了桥PHP-JAVA 桥接安装。
- 在这里我了解到我需要有一个私有jvm来安装桥。
- 所以我首先使用我的 c-panel 在 Private JVM 中安装了 apache-tomcat-6.0.14。安装后,它要求我将域映射到私有 JVM。所以我将我的域 example.com (这是唯一可用的选项)映射到它。
- 然后它要求启用从 Apache Web 服务器到我的 Java 应用程序服务器的流量重定向(有一个复选框,我单击了它)
- 最后它要求我部署 WAR 文件(JavaBridge.WAR 是我的文件),一切看起来都很好
- 现在当我去http://example.com/JavaBridge/我可以看到 javabridge 示例,它工作得很好。
到目前为止,一切都很好
现在,当我尝试从 php 访问 java 类文件时,我的问题就开始了。一个样品test.php
是我创建的并将以下代码放入其中。
<?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了解不多。所以我被困在这里不知道该怎么办。
这是一个很棒的一步一步tutorial您可以关注,这显示了所需的一切!它有点旧(2007 年),但不久前对我有帮助。
还有另一种选择。您可以安装 Apache Tomcat 并在那里部署您的战争。只要您遵守端口设置,您甚至可以同时拥有多个 tomcat 实例,并在同一台计算机上同时运行 httpd。您甚至可以在它们前面使用 Apache httpd。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)