linux上安装php-java-bridge

因为公司网站要用全文检索,而知名的lucene只有java和.net版本,zf里面虽然带了lucene,但其功能和效率还不足以用于生产环境,所以只有想办法在linux中用php调用java了.经过比较,发现php-java-bridge是个不错的选择,以下是linux(as4)下配置php-java-bridge的过程:

一、安装java运行环境
  1、下载jdk
      http://java.sun.com/javase/downloads/index.jsp
  2、下载完成后,复制文件到安装目录(我设的是/usr/local/java)
  3、cd /usr/local/java
  4、chmod a+x
  5、./jdk-version-linux-i386.bin
  6、安装完成后,配置环境变量
     >shell: echo "JAVA_HOME=/usr/java/jdk1.6.0_11
      PATH=$JAVA_HOME/bin:$PATH
      CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/mysql-connector-java-5.1.7-bin.jar
      export JAVA_HOME
      export PATH
      export CLASSPATH" >> /etc/profile
 
    配置完环境变量后,运行 java -version.出行java的版本信息,说明java环境安装成功
二、安装php
  1、下载php到/tmp/soft目录(php-java-bridge4需要php-5.1.4以后的版本,我用的是php-5.2.4)
  2、cd /tmp/soft/php-vsersion.tar.gz
  3、tar zxvf php...
  4、cd php-version
  5、./configure --prefix=/usr/local/php2 --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
  6、make && make install
三、安装php-java-bridge
  1、下载php-java-bridge
      http://sourceforge.net/project/showfiles.php?group_id=117793
  2、解压后,进行php-java-bridge目录
  3、执行 /usr/local/php2/bin/phpize
  4、./configure --with-java=/usr/java/jdk1.6.0_11,/usr/java/jdk1.6.0_11/jre
  5、make && make install
  6、安装完成后,在php.ini文件增加以下内容:
     [java]
     extension=java.so
     ps:php-java-bridge是以php扩展的方式安装,所有的java文件都在php的扩展目录下。所以要确保php.ini文件中的extension_dir的路径设置正确。如安装过程正常,java不能正常调用,一般都是扩展文件调用出了问题
  7、查看phpinfo,会出现如下信息说明php-java-bridge运行
     

java

java support Enabled
java bridge 5.3.2.1.2
java.java_home /usr/java/jdk1.6.0_11
java.java /usr/java/jdk1.6.0_11/bin/java
java.log_file <stderr>
java.log_level no value (use back-end's default level)
java.security_policy Off
java command JAVA_HOME=/usr/java/jdk1.6.0_11 LD_LIBRARY_PATH=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/:/usr/local/apache2/lib: /usr/java/jdk1.6.0_11/bin/java -Djava.library.path=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/ -Djava.class.path=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/JavaBridge.jar -Djava.awt.headless=true -Dphp.java.bridge.base=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/ php.java.bridge.Standalone INET_LOCAL:0 2
java server 9267
java status running
 
  至些,php就可以调用java写的类文件了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值