在php.ini里設置。有java設置的塊。下面是我以前的一個配置做為示例,可以參考一下。[ol][*][*][Java][*]java.class.path = /usr/local/lib/php/php_java.jar:/usr/local/apache/htdocs/java[*]java.home = /usr/local/j2sdk_nb/j2sdk1.4.2/jre[*]java.library = /usr/local/j2sdk_nb/j2sdk1.4.2/jre/lib/i386/libjava.so[*]java.library.path = /usr/local/lib/php/extensions/no-debug-non-zts-20020429[*]extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20020429[*]extension = libphp_java.so[*][/ol]Java的兩個安裝包好象都是默認的安裝。PHP要引用的Java Class要存在於java.class.path指定的路徑區域中。記得當時試了大半天才大致搞明白,呵呵。關於調用直接參考PHP官方文檔里的即可。[[i] 本帖最後由 seraph 於 2006-3-27 16:28 編輯 [/i]]
② php怎麼調用java jar
windows下的安裝
第一步:安裝JDK,這是非常容易的,你只需一路回車的安裝好。然後做好以下步驟。
在 Win9x 下加入 :「PATH=%PATH%;C:\jdk1.2.2\bin」 到AUTOEXEC.BAT文件中
在 NT /Win2000下加入 「;C:\jdk1.2.2\bin」到環境變數中。
這一步是非常重要的,這樣PHP才能正確的找到需調用的JAVA類。
第二步:修改你的PHP.INI文件。
[java]
extension=php_java.dll
java.library.path=c:\web\php4\extensions\
java.class.path="c:\web\php4\extensions\jdk1.2.2\php_java.jar;c:\myclasses"
在PHP.INI中加入extension=php_java.dll
並在[java]中,設定好java.class.path,讓它指向php_java.jar,如果你使用新的JAVA類,你也應該存入這個路徑,在這篇例子中,我們使用c:\myclasses這個目錄。
第三步:測試環境,創建如下PHP文件:
<?
$system = new Java("java.lang.System");
print "Java version=".$system->getProperty("java.version")."\n";
print "Java vendor=".$system->getProperty("java.vendor")."\n\n";
print "OS=".$system->getProperty("os.name")." ".
$system->getProperty("os.version")." on ".
$system->getProperty("os.arch")."\n";
$formatter = new Java("java.text.SimpleDateFormat","EEEE,
MMMM dd, yyyy 'at' h:mm:ss a zzzz");
print $formatter->format(new Java("java.util.Date"))."\n";
?>
③ php調用java介面,具體步驟,要可以在win10和linux上使用的,,高額懸賞!
說個思路,採納與否自己看:
用socket進行通訊:
使用現有協議你可以依託,http實現本地訪問的介面,也就是127.0.0.1+http埠就可以訪問。
或者
自己定義數據傳輸規則,依託的是java的純soket介面。
或者
webservice,需要數據封裝,效率還不如http直接調用。
以上方式實現那度都不大,php100%有網路請求或webservice的函數,效率問題你也無須擔心,127.0.0.1通訊,數據連網卡都不會倒,直接轉給別的進程,部署在不同的機器,數據是需要經過網路的。
另外一種方式:
遠程過程調用,這快能否跨語言通訊不想,但rpc是行業標准,如果嚴格遵循標准,理論上可以實現。php有沒有對應的調用函數,不清楚。
我熟悉java,php了解一丁點。
以上所有方式,你寫好後都是通用介面想部署在什麼平台上都行。
④ php調用java介面,java段要求json格式的請求參數
java端取值方式錯了,用流取.
br = request.getReader();
StringBuffer sb = new StringBuffer("");
String temp;
while ((temp = br.readLine()) != null) {
sb.append(temp);
}
br.close();
System.out.print(sb.toString())
⑤ php怎麼調用java介面
這跟java無關,WebService哪種語言開發的都可以,php都是一樣調用
調用方法網上很多例子,就不搬運了:http://www.cnblogs.com/xjnotxj/p/6212143.html
⑥ PHP怎麼調用其他類的方法
在Java的調用方法是import,而在PHP中沒有import這個函數,一般PHP中調用其他類是用到require(),具體PHP調用其他類的方法如下:
1、首先應該先有一個文件名為tool.php的文件,在文件中聲明一個類。
(6)php調用java方法擴展閱讀:
類是變數與作用於這些變數的函數的集合。使用下面的語法定義一個類:
<?php
class Cart { var $items; // 購物車中的物品
// 將 $num 個 $artnr 物品加入購物車
function add_item($artnr, $num) {
$this->items[$artnr] += $num;
} // 將 $num 個 $artnr 物品從購物車中取出
function remove_item($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num; return true;
} elseif
($this->items[$artnr] == $num) {
unset($this->items[$artnr]); return true;
} else {
return false; }
}
} ?>
上面的例子定義了一個 Cart 類,這個類由購物車中的商品構成的數組和兩個用於從購物車中添加和刪除商品的函數組成。
⑦ 同一伺服器安裝java與PHP 共用80埠 怎麼安裝java與PHP是兩個單獨的網站,還有我安裝完後java網站程序
引用
因為在做垂直搜索工作中,使用的是java編寫的一個搜索類庫。做垂直搜索,很多實用要使用到配置。當搜索的信息量大時,網站的更新。搜索程序的配置維護是一個不可忽視的問題。所以用了php做網頁,提供配置界面,這樣就可以不用直接修改配置文件或是配置資料庫表。當把配置信息配置好了,我們需要檢測配置是否正確,因為使用的是java程序,所以檢測配置的正確與否使用的也是java程序來檢測。這里就存在一個問題,就是需要把php頁面上的信息傳入到java程序中去檢測。這個時候就需要php和java通信了。下面我就來介紹下怎麼使php跟java通信(當然,你也可以使用類似webservice等技術)也就是php中調用java程序。 php要調用java程序:需要以下准備,php程序,java程序,還有就是shell程序或是bat程序。下面分別介紹下在linux伺服器下php調用java程序和在windows伺服器下調用java程序。前提是php,apache,jdk的環境都已經配置好。
一 在linux下php調用java程序是通過shell文件。分別是以下三個文件: test_shell.php test_shell.java test_shell.sh 他們的源代碼如下:
1.test_shell.java程序代碼
public class test_shell {
public static void main(String[] args) {
System.out.println("你輸入的參數是:"+args[0]+"t"+args[1]);
}
}
2.test_shell.php程序代碼
<?php
/*
* 該函數是用來執行shell命令的,其實還可以使用:exec(),system(),
* popen()和pclose(),passthru() 函數。最長用的是前面兩個和例中使
* 用的shell_exec()。
*/
$args1="我喜歡你";
$args2="我很愛你";
// 注意空格
$r=shell_exec("./test_shell.sh $args1 $args2");
echo $r;
?>
3.test_shell.sh程序代碼是
#!/bin/sh
JAVA_HOME=/usr/local/jdk
CLASSPATH=.:/usr/local/jdk/jre/lib/rt.jar:/usr/local/apache/htdocs/test_shell/test_shell.class
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
cd /usr/local/apache/htdocs/test_shell
java test_shell
#shell代碼結束
以下是三個程序的存放路徑和運行次序。
1.三個文件都必須在同一目錄下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很難調到java程序。
2.把test_shell.java程序編譯成test_shell.class,然後把test_shell.class文件存放到CLASSPATH中。如果系統配置了那些環境變數,這里在配置一次是沒有壞處的,也不會影響配置好的系統環境變數。這里設置的好處是當沒有配置jdk環境配置,只有jre時,則需把jre放到/usr/local/jdk下就以。
二、下面先介紹在windows伺服器下,php調用java程序是通過bat文件來的。分別是以下三個文件: test_bat.php test_bat.java test_bat.sh 他們的源代碼如下:
1.java程序
public class test_bat {
public static void main(String[] args) {
System.out.println("你輸入的參數是:"+args[0]+"t"+args[1]);
}
}
2.test_bat.php程序代碼
<?php
/*
* 該函數是用來執行shell命令的,其實還可以使用:exec(),system(),
* popen()和pclose(),passthru() 函數。最長用的是前面兩個和例中使
* 用的shell_exec()。
*/
$args1="我喜歡你";
$args2="我很愛你";
// 注意空格
$r=shell_exec("./test_shell.sh $args1 $args2");
echo $r;
?>
3.test_bat.sh程序代碼是
@echo off
set path=%path%;%cd%jrebin
set CLASSPATH=.;%cd%jrelibrt.jar;%cd%test_bat.class
java test_bat %1 %2
#bat代碼結束
1.三個文件都必須放在同一目錄下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很難調到java程序。
2.把test_bat.java程序編譯成test_bat.class,然後把test_bat.class文件存放到CLASSPATH中。如果系統配置了那些環境變數,這里在配置是沒有壞處的,也不會影響配置好的系統環境變數。這里設置的好處是當沒有配置jdk環境配置,只有jre時,則需把jre放到跟跟test_bat.java同一目錄下就行了。
三、上面兩個例子中,test_shell.sh用的絕對路徑,test_bat.bat是用的相對路徑。不管是絕對還是相對,只要路徑對了就行了。