PHP调用java的class

 

转:http://hi.baidu.com/lei0827/blog/item/28439a4e923234ced1c86a18.html

PHP调用java的class有2种方法

1、种是用php自身带的模块调用java(不过经过网友的证明发现这种方法不好)我没用。

2、通过php-java-bridge模块调用java。(经过网上普遍推荐)我使用了这张方法。

由于海底光缆断了我去下载这个8.2M的包花了2天时间(无奈)。昨天终于在不断的努力下成功了。

下面介绍如何在linux下安装这个包。

1、先安装java环境、apache、php等相关环境(安装方法略)。

2、下载php-java-bridge包(目前我用的是php-java-bridge-4.0.1.tar.gz)

tar xzvf php-java-bridge-4.0.1.tar.gz 解压

cd php-java-bridge-4.0.1(进入包目录)

phpize

./configure --disable-servlet --with-java=/usr/java/jdk1.5.0_06/,/usr/java/jdk1.5.0_06/jre --with-php-config=/var/eyou/php/bin/php-config

make;make install

到上面成功后那么安装就成功完成了。

开始配置php.ini

vi /var/eyou/php/lib/php.ini

到文件尾

#java 模块
extension="java.so"
[java]

java.java_home="/usr/java/jdk1.5.0_06/"(您的java安装目录)
java.java="/usr/java/jdk1.5.0_06/jre/bin/java"(在您的java安装目录下肯定会有这个的)
java.log_file="/var/log/php-java-bridge.log"(log文件具体位置)
java.classpath="/var/eyou/php/lib/php/extensions/no-debug-non-zts-20020429/JavaBridge.jar"(JavaBridge.jar所在位置)
java.libpath="/var/eyou/php/lib/php/extensions/no-debug-non-zts-20020429/"(存放自定义java class的地方)
java.log_level="2"(log级别)

写好上面的保存退出。

从新启动apache

<?php

phpinfo();

?>

看看能否找到java。如果有就证明成功安装了。

测试一下看看能不能用

vi java.php

<?php
//java_require("./php_test.jar");
$system=new Java("java.lang.System");
print "Java version=".$system->getProperty("java.version")." ";
$str=new Java("java.lang.String");
$str = "abc";
/* 下面是自定义的,一会在介绍。下面的程序成功运行感谢weipeng的技术支持
$userBook = new Java("php_test");
$userBook->test1 = "abc";
$userBook->test();
var_dump($userBook->test1);

*/
?>

运行上面的东东可以看到调用java成功了吧。

PHP调用java的class的更多相关文章

  1. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  2. android webView开发之js调用java代码示例

    1.webView设置 webView.getSettings().setJavaScriptEnabled(true);//设置支持js webView.addJavascriptInterface ...

  3. Android 使用js调用Java

    效果如: 主要用到一个接口类:MyObject package com.example.jsdemo; import android.content.Context; import android.s ...

  4. 关于c#调用java中间件api的几个问题

    由于项目需要,做的c#客户端数据库连接串首先肯定不能写死的程序里(数据库很容易被攻击,我们的项目半年改了几次密码...) 放置在配置文件内,都可以看得到,最开始想法将配置文件加密,老师说加密过的文件还 ...

  5. C++调用JAVA方法详解

    C++调用JAVA方法详解          博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...

  6. JNI中C调用Java方法

    背景需求 我们需要在JNI的C代码调用Java代码.实现原理:使用JNI提供的反射借口来反射得到Java方法,进行调用. JNI关键方法讲解. 1. 在同一个类中,调用其他方法 JNIEXPORT v ...

  7. 规则引擎集成接口(七)规则引擎调用Java类

    规则引擎调用Java类 通过myEclipse编写一个简单工程,其中方法是两数相加等到结果,既结果1=输入值1+输入值2.实现规则调用外部接口的方法有三种. 1:接口实例:在myEclipse中制作一 ...

  8. oracle 调用java

    1.首先在PL/SQL中创建JAVA类,并编译 例如:这个是到的一个查询目录下面文件列表的java类 创建此java 类用: create or replace and compile java so ...

  9. C#调用Java方法(详细实例)

    C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...

  10. JNI系列——C文件中的方法调用Java中方法

    1.创建xxx.jni包并在该包下实现一些Java的方法,和要调用的本地方法 2.实现MainActivity中的按钮点击事件-即点击按钮调用本地的方法 3.在C文件中的方法中回调Java的方法 3. ...

随机推荐

  1. [原]ASP.NET 数据库访问通用工具

    在工作中,有很多项目已上线后,很多项目的数据库服务器都不会对外开放的,外网想直接访问客户数据库服务器时,可能会出现困难. 这时就需要一个可以查询,更新数据库操作的页面了: 本来用sql语句直接操作数据 ...

  2. Java Hour 60 逃不开的GC

    第一个大家都应该知道的概念就是应用程序中不断的new 分配了内存,却没有显式的代码去清理内存,而执行这个清理过程的自动垃圾回收的过程就叫做GC. 但是,JVM 说明并没有要求一定要有GC,JVM 说明 ...

  3. mysql的多表查询

    转自:http://huaxia524151.iteye.com/blog/1423614 转自:http://blog.sina.com.cn/s/blog_4c197d420101cnm9.htm ...

  4. 建模算法(八)——插值

    插值:求过已知有限个数据点的近似函数 拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下在这些点的误差最小 (一)插值方法 一.拉格朗日多项式插值 1.插值多项式 就是做出一个 ...

  5. Spring的bean标签

    Spring框架中主要有四种标签bean.alias.import.beans,其中bean标签是其他标签的基础. 一.bean标签的属性 scope:用来配置spring bean的作用域 sing ...

  6. Playmaker Input篇教程之PlayMaker菜单概述

    Playmaker Input篇教程之PlayMaker菜单概述 Playmaker InputPlayMaker菜单概述 Playmaker插件被导入游戏项目以后,会自动为Unity编辑器添加一个名 ...

  7. POJ1135 Domino Effect(SPFA)

    题目大概是,普通骨牌连接两张关键骨牌,一旦一张关键骨牌倒下与其相邻的普通骨牌也倒下,普通骨牌倒下与其相邻的骨牌也倒下.给出所有有普通骨牌相连的两个关键骨牌之间普通骨牌倒下所需时间,问1号关键骨牌开始倒 ...

  8. Unity3D shader脚本

    Unity中的shader脚本,是用叫做shaderlab的脚本语言来写.这个unity中的shader不只是DX中HLSL写的顶点和像素shader,而应该说是对应着DX中的Effect脚本,定义了 ...

  9. SplendidCRM 中文语言包改正版

    由于官方的中文语言包太多地方词不达意,可能是文化差异吧,如“删除”却写成“德尔”.本人修改了几十个地方,还修改了不能清除已有数据的Bug.相关文件在下载包中. http://files.cnblogs ...

  10. NSMutableArray 存放BOOL

    注意BOOL是不能直接存放在NSMutableArray中的 NSNumber* yesObj = [NSNumber numberWithBool:YES]; NSMutableArray* arr ...