使用PHP7.4+ Thinkphp6 + EasyWeChat + Payment支付 框架碰到的一些问题

目录

前言

一、EasyWechat篇

1、官方文档

2、手机端授权登录公众号跳转的时候提示 Redirecting to , 影响用户体验

3、公众号授权登录以后,获取公众号信息发现缺少 unionid参数

二、Payment篇

1、官方文档

2、PHP7.4 版本会提示一些错误

三、Mysql篇

1、微信Emoji表情昵称保存出错

2、1286 Unknown storage engine 'InnoDB'报错解决办法


前言

因为项目的需求,本项目涉及到微信公众号登录、微信、支付宝支付接口的接入,因为官方的文档实在是太繁琐,配置起来各种坑

再加上phpthink框架的问题,官方下载过来的sdk开发包还需要进行一些命名空间的改动,用起来也是各种问题,还好我找到了比较好用的两个SDK

1、微信公众号登录授权等等一系列的调用,我用了 EasyWeChat 

2、支付SDK,我用的是 Payment ,作者真的太牛了,把微信、支付宝、招商银行都集成到了一起,使用起来极其方便,

在此感谢两位大牛,让我们这些后来者能够很方便的去开发!!!

在使用这些SDK的过程中,难免会碰到一些问题,在此记录一下,避免以后踩坑

一、EasyWechat篇

1、官方文档

     地址:https://www.easywechat.com/docs

2、手机端授权登录公众号跳转的时候提示 Redirecting to , 影响用户体验

     解决办法:

找到  \vendor\symfony\http-foundation\RedirectResponse.php

设置body 的样式隐藏即可

3、公众号授权登录以后,获取公众号信息发现缺少 unionid参数

原因是该支付商户没有加入到开发者平台

二、Payment篇

1、官方文档

GitHub - helei112g/payment: Payment是php版本的支付聚合第三方sdk,集成了微信支付、支付宝支付、招商一网通支付。提供统一的调用接口,方便快速接入各种支付、查询、退款、转账能力。服务端接入支付功能,方便、快捷。

2、PHP7.4 版本会提示一些错误

问题1:implode()
找到 riverslei\payment\src\Gateways\Alipay\AppCharge.php,84行
'disable_pay_channels' => implode(self::$config->get('limit_pay', ''), ',')
implode()函数 ,官方文档第一个参数为分隔符,第二个参数为数组
测试在低版本php环境中可以运行,php7.4会报错,搜索共有四处implode是同样的方法。

问题2:get_magic_quotes_gpc()
php7.4已启用函数get_magic_quotes_gpc()
函数位置:riverslei\payment\src\Helpers\ArrayUtil.php,119行

注释掉该函数即可

三、Mysql篇

1、微信Emoji表情昵称保存出错

  

修改配置文件 my.ini

[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
character-set-client-handshake = FALSE

 重启mysql 即可

2、1286 Unknown storage engine 'InnoDB'报错解决办法

用的是thinkphp 框架,昨天晚上还正常登陆,早上起来发现登陆后台报错500,查看错误原因如下:

SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown storage engine 'InnoDB'

通过命令

 show engines; 

发现 InnoDB 不支持

找到mysql数据库的配置文件my.ini

加#注释这两行,重启mysql 即可

# skip-innodb

# loose-skip-innodb

修改后,InnoDB Suppot 变成了Yes

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值