目录
2、手机端授权登录公众号跳转的时候提示 Redirecting to , 影响用户体验
3、公众号授权登录以后,获取公众号信息发现缺少 unionid参数
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、官方文档
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