PHP調用java中的注意事項

                                            PHP調用java中的注意事項

PHP調用java通常是通過php-java-bridge方式調用的。本文描述下調用的關鍵步驟。

1、下載php-java-bridge.jar文件。

2、解壓php-java-bridge.jar包中的文件,獲取文件中的Java.inc

3、把php-java-bridge.jar文件放在\Java\jdk1.8.0_102\jre\lib\ext目錄下。

4、把需要調用的java庫的jar包放在Java\jre1.8.0_102\lib\ext目錄下。

5、java -jar JavaBridge.jar SERVLET_LOCAL:8080 &運行jar包,或者雙擊

這時候java測就準備好了

-----------------------------------------

修改php文件中的代碼進行調用。

示例代碼

<?php
header("Content-Type: text/html;charset=utf-8");
//define("JAVA_HOSTS", "127.0.0.1:8080");//如果javaBridge 啓動時使用的是非8080端口,請打開此行代碼的註釋,將8080端口改成相應端口 
//1.引入javaBridge
require_once("Java.inc");
//2.創建sdk實例
$sdk = Java("com.my.iot.platform.sdk.PlatformSdk");
$instance = $sdk->getInstance();
//3.調用sdk初始化方法
echo '初始化結果:';
$init = $instance->init("120.194.4.111:1800", "5cc0d94087a642d2894d156f1ee97be5","/usr/local/sercert");
var_dump($init);
echo PHP_EOL;
//var_dump(base64_encode("3082026A3082020DA0030201020208621100000035F0A0300C06082A811CCF5501837505003046310B300906035504061302636E311F301D060355040A131658696E44614A6965416E20436F72706F726174696F6E3116301406035504030C0D58646A6153756243615F736D32301E170D3139303530383035353031305A170D3335303430393036303433305A3078310B300906035504061302636E311F301D060355040A131658696E44614A6965416E20436F72706F726174696F6E310F300D060355040B13067573626B65793137303506035504030C2E78696E6368616F30315F37383634364136313738363436413631343835383533333133383138373734465F656E633059301306072A8648CE3D020106082A811CCF5501822D034200042252E5E2791D992D784FFC70128032A37CF6252ED04472AF9CBE30431511206F31957C4713DCD0E2352E95D0084C5491B2FF0F095DBD4005B8CE00AF3673D4DAA381B03081AD301F0603551D2304183016801445AC00A8627C6AA8F3502CBD08A39C81D170FB46301D0603551D0E041604141CFF0CFCA7CD20E3C452FF94BE0CC9AF2E29413630090603551D130402300030500603551D1F044930473045A043A041863F687474703A2F2F63726C2E7361666563656E7465722E636F6D2F43726C446F776E6C6F61643F64703D55736572434133352E63726C266361416C673D322E30300E0603551D0F0101FF040403020338300C06082A811CCF5501837505000349003046022100FB7B3D8401C16056130D4BACAD17D343F73EDBAF6DC095AD0C6D0443C0140F4D022100EE29E972816641931848100B7270D0FD8FBB0B71EDF08232D335EE2694963CB1"));
$res = $instance->verifyUkeyIdentity("aaaa","bbbb");
var_dump($res);

$hashObject = new Java("com.my.iot.platform.sdk.HashObject");
$instance->getMediaFileHash("/data/360.avi", $hashObject);

echo PHP_EOL;
echo '摘要值:';
echo $hashObject->getHash();
//6.打印簡摘要密文
echo PHP_EOL;
echo '簡摘要密文:';
echo $hashObject->getEasyHashCipher();
echo PHP_EOL;
?>

但是你的代碼會執行出錯,原因是php中獲取java返回值不能直接使用var_dump方法。可以用一下兩種方法寫java_values($res)或者var_dump(java_values($res)),另外網上說也可以用var_dump(java_inspect($abc))),我是沒有測試成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章