Rumah  >  Artikel  >  pembangunan bahagian belakang  >  支付宝服务窗php的demo报错 Warning: openssl_sign() [function.openssl...

支付宝服务窗php的demo报错 Warning: openssl_sign() [function.openssl...

Empty
Emptyasal
2017-08-23 16:58:141688semak imbas

最近给客户做支付宝服务窗,遇到报错:

Warning: openssl_sign() [function.openssl-sign]: Unknown signature algorithm. in

后来查了查,是我的服务器上PHP环境支持openssl_sign()但却不支持 OPENSSL_ALGO_SHA256这样的参数,问了一下大佬,才发现这个参数是在php5.4.8以上版本才支持,低版本的是使用的SHA256,于是乎试了一下,搞定!

报错原因是支付宝的demo中AopClient.php文件里使用到了这样的语句:

if ("RSA2" == $signType) {

openssl_sign($data, $sign, $res,OPENSSL_ALGO_SHA256);

} else {

openssl_sign($data, $sign, $res);

}

解决办法就是把 OPENSSL_ALGO_SHA256 改成 SHA256


if ("RSA2" == $signType) {

openssl_sign($data, $sign, $res,SHA256);

} else {

openssl_sign($data, $sign, $res);

}

注意:这个文件中共有三处,要全部修改好!


Atas ialah kandungan terperinci 支付宝服务窗php的demo报错 Warning: openssl_sign() [function.openssl.... Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:实例详解PHP命名空间用法Artikel seterusnya: php处理替换链接参数