发布于 4年前

php 使用支付宝SDK报错解决

最近公司将一些项目转移了服务器,后来发现使用支付宝支付时发现出现错误,错误如下:

The each() function is deprecated. This message will be suppressed on furthe

最后发现这是由于我们的新服务器的php版本安装的时php7.2,由于php7.2版本废弃了each方法导致出现错误,解决方法为将each方法改成foreach方法,如下将:

while (list($key, $val) = each($para)) {}

改成:

foreach ($para as $key => $val) {}

修改完成支付又发现出现如下错误:

count(): Parameter must be an array or an object that implements Countable

这是由于在php7.2中count方法参数只支持数组导致的错误,修改如下将:

$arg = substr($arg,0,count($arg)-2);

改成:

$arg = substr($arg,0,strlen($arg)-1);

修改完成之后支付宝支付成功!!!

©2020 edoou.com   京ICP备16001874号-3