要做CA系统,需要php中支持Java,终于搞定和大家分享
(偶用的PHP Version 5.1.1; Apache/2.2.0; 模块方式)
偶原来认为只要打开
;extension=php_java.dll 就OK了,
运行测试程序testjava.php
<?php
//因为Java内部使用Unicode编码,输出默认为UTF-8编码,没有这句可能有乱码
header("Content-type: text/html; charset=utf-8");
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');// demonstrate property access
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo '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");echo $formatter->format(new Java('java.util.Date'));
?>结果产生错误提示
Fatal error: java() [function.java]: Unable to load Java Library jvm.dll,接着偶尝试修改php.ini下面项,
[java]
java.class.path = d:\xampp\php\php_java.jar
java.home = d:\jdk1.5\
java.library = d:\ jdk1.5\jre\bin\client\jvm.dll
java.library.path = d:\xampp\php\ext结果Firefox显示“页面没有内容”,IE转到错误页面,多次失败认识到可能官方提供的java扩展php5不能用(不知道php4能不能用),继续到google搜索php5 java找到了php/Java Bridge (http://sourceforge.net/projects/php-java-bridge/)
解压后按照把JavaBridge.war重命名为JavaBridge.zip(或者把它放到JSP容器里自动解压部署),继续解压,(按照INSTALL.WINDOWS说明文件)
(1)php.ini修改
extension = php_java.dll
    [java]
    java.log_level   = 2
(2)压缩包中java-x86-windows.dll重命名为php_java.dll并复制到extension_dir(php.ini中extension_dir项指定的路径) 
(3)压缩包中JavaBridge.jar复制到extension_dir重启动 Apache 运行testjava.php
显示:
Java version=1.5.0_06
Java vendor=Sun Microsystems Inc.
OS=Windows XP 5.1 on x86 
[o(String):"星期五, 五月 19, 2006 at 11:48:08 上午 中国标准时间"]