乐趣区

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);

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

退出移动版