收藏
回答

微信支付 php5.6 安装libsodium-php 运行还是报错,不能使用

微信支付服务端接入报错

服务端 php 5.6 接的是 wechatpay-guzzle-middleware,运行代码报错如下:

download failed, message=[AEAD_AES_256_GCM需要PHP 7.1以上或者安装libsodium-php] exception 'RuntimeException' with message 'AEAD_AES_256_GCM需要PHP 7.1以上或者安装libsodium-php'

由于php版本5.6,比较旧的版本,按照提示安装的libsodium-php

下载libsodium 1.0.6 版本,扩展成功

运行代码还是失败,

function_exists('\Sodium\crypto_aead_aes256gcm_is_available' ) 可以检测到方法,但是返回false

\Sodium\crypto_aead_aes256gcm_decrypt 方法不存在,

请问有没有人遇到这个问题啊,怎么解决呢?




回答关注问题邀请回答
收藏

2 个回答

  • 北望沣渭
    北望沣渭
    2022-05-26

    老项目要上新功能,建议混合PHP版本开发, PHP7.1及以上使用 wechatpay-php 做个内部http接口服务,php56直接调用这个http服务,省却折腾环境了。

    另外,从crypto_aead_aes256gcm_is_available 方法的官方文档看,貌似是你的硬件不支持AESGCM,详细见: https://www.php.net/manual/en/function.sodium-crypto-aead-aes256gcm-is-available.php

    2022-05-26
    有用 2
    回复 4
    • bicolor
      bicolor
      2022-05-27
      谢谢这位老哥,说的很到位,我也查到这个信息,我是想着应该跟硬件设备没有多大关系,如果真的是硬件不支持AESGCM,那我升级到php7.1及以上是否能解决这个问题呢?
      2022-05-27
      回复
    • 北望沣渭
      北望沣渭
      2022-05-27回复bicolor
      你的硬件是什么,具体就不清楚了,建议做下测试,比如装个docker,跑一下高版本PHP看看
      2022-05-27
      回复
    • bicolor
      bicolor
      2022-06-07回复北望沣渭
      老哥,方便发一下wechatpay-php到我邮箱吗?1500401083@qq.com
      2022-06-07
      回复
    • bicolor
      bicolor
      2022-06-07回复北望沣渭
      不用了,已经获取,谢谢老哥了
      2022-06-07
      回复
  • 吴大夫13384829919
    吴大夫13384829919
    发表于移动端
    2022-05-27
    这么操作呀
    2022-05-27
    有用
    回复
登录 后发表内容