开发者社区> 问答> 正文

php 和Java 调用的区别?报错

demo.java
PKCS7Tool tool = PKCS7Tool.getSigner('/taobao.pfx', '1111', '1111');
String dataStr = orderNo + "|" + orderTime + "|" + curCode + "|" + orderAmount + "|" + merchantNo;
byte[] data = dataStr.getBytes("UTF-8");
String signature = tool.sign(data);
对应php
demo.php
require_once("java/Java.inc");//必须包含的配置文件
java_require("pkcs7.jar");//引用包含的jar包
$PKCS7Tool = new Java("com.bocnet.common.security.PKCS7Tool");//产生实例
$signer = $PKCS7Tool->getSigner("D://www/phpjava/taobao.pfx",'11111111','11111111');
$signature = $signer.sign("00000000000");

我的php文件下 不能这样直接调用到 sign ????
报错是Fatal error: Call to undefined function sign() in D:\www\phpjava\test.php on line 14

展开
收起
爱吃鱼的程序员 2020-06-22 22:03:44 645 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    最后一行代码

    $signature=$signer.sign("00000000000"); 

    明显PHP语法使用不当,点号是字符串串接用法,你要调用 $signer的成员方法应该使用 $signer->sign("00000000000"); 

    你这么用相当于是使 $signer的值与sign函数结果的值进行字符串串接,当时你在上下文中并没有定义一个全局函数名为sign的,所以报那样的错误。


    JAVA和PHP混乱使用了吧。呵呵

    提示正确
    2020-06-22 22:04:03
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载