Warning: openssl_sign() [function.openssl-sign]: Unknown signature algorithm. in
报错原因是支付宝的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);
}
注意:这个文件中共有三处,要全部修改好!
如果是本地集成环境 还需要在PHP.INI里面 把 php_openssl 打开 找到找到 ;extension=php_openssl.dll,将前面的“;”去掉;保存后重启服务器即可
如果时间报错 在php.ini文件中修改成这样
; http://php.net/date.timezone
date.timezone = UTC