PHP 5.3 with java Integration


PHP 5.3 with java Integration

我对PHP非常陌生。我使用的是带有Apache 2.2.25的PHP 5.3版本。我通过启动javaBridge.jar成功地访问了java库。

我在PHP脚本中使用java类文件时遇到问题,我得到了以下错误:

hi Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Kolkata' for '5.5/no DST' instead in Unknown on line 0 Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: CreateInstance failed: new PrintHello. Cause: java.lang.ClassNotFoundException: PrintHello VM: 1.6.0_26@http://java.sun.com/" at: #-17 java.net.URLClassLoader$1.run(Unknown Source) #-16 java.security.AccessController.doPrivileged(Native Method) #-15 java.net.URLClassLoader.findClass(Unknown Source) #-14 java.lang.ClassLoader.loadClass(Unknown Source) #-13 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) #-12 java.lang.ClassLoader.loadClass(Unknown Source) #-11 java.lang.Class.forName0(Native Method) #-10 java.lang.Class.forName(Unknown Source) #-9 php.java.bridge.Util.classForName(Util.java:1518) #-8 php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445) #-7 php.java.bridge.Request.handleRequest(Request.java:458) #-6 php.java.bridge.Request.handleRequests(Request.java:500) #-5 php.java.bridge.JavaBridge.handleRequests(JavaBridge.java:150) #-4 php.java.bridge.JavaBridgeRunner.doPut(JavaBridgeRunner.java:207) #-3 php.java.bridge.http.HttpServer.servi in http://localhost:8080/JavaBridge/java/Java.inc on line 195 

我已经将java类文件放在htdocs文件夹中,并用以下行修改了php.ini文件

java.java_home = "C:'Program Files'Java'jdk1.6.0_20'bin"
java.java ="C:'Program Files'Java'jdk1.6.0_20'jre"
java.class.path = "c:'PHP'ext'JavaBridge.jar;c:'myclasses"
java.library  = "C:'Program Files'Java'jdk1.6.0_20'jre'bin'server'jvm.dll"
java.library.path = "c:'PHP'ext" 
 extensions = php_java.dll

但我仍然无法通过foll PHP脚本访问java类文件

<?php 
  require_once("http://127.0.0:8080/JavaBridge/java/Java.inc");
  echo "hi";
$ obj = new java("PrintHello"); 
echo $ obj->printHello("Hi ");
?>
  1. 我可以通过PHP 5.3脚本调用java类文件吗
  2. 我需要导入jar文件,java_require或java_autoload不起作用

与之相关的任何建议或文件。

提前谢谢。

require_once("http://127.0.0:8080/JavaBridge/java/Java.inc");

替换为真正的本地主机ip 127.0.0.1:

require_once("http://127.0.0.1:8080/JavaBridge/java/Java.inc");

请不要在变量和美元字符$obj 之间留空格

我从未使用过javabridge(也从未听说过),但对于您收到的警告:

这是一个非常典型的错误,它是由php.ini中没有指定时区引起的。php.ini在linux系统中的位置通常是/etc/php/php.ini。打开它并搜索行:

date.timezone = 

在那里填写您的时区(如果您没有这样的行,请写出来),可能的时区列表位于此处:

http://php.net/manual/en/timezones.php