关于 Undefined index: openid 的疑问解答过程

缘由

可以确定一点,之所以出现这个错误,是因为 getAccessTokenResponse 获取 access_token 会同时设置 openid,所以一旦 code 是错误,或者当 appid 、secret是错误,就获取不到数据 access_token,这就出现这个错误。

错误重现

我先在登陆接口中,使用 code ,确定是首次使用 code,并且是最新获取的,这点无容置疑。
file
结果,发现这是报错的
file

然后,通过 tinker 调试,结果正常获取到 access_token
file

如果出现以上情况的,可以尝试下面的捕获方式,进一步确定错误源头,例如,捕获本次错误
file

进一步发现错误是缘由 appid ,无效的 appid:
file

既然错误由此产生的,那么可以确定两点:

  1. 在 config/service.php 配置是错误
  2. 配置没有生效,也就是数组的键名错误,所以 socilste 获取不到正确的配置

解决方法

我仔细的阅读了它获取配置的代码,正确的配置应该是这样的,同教程的一致,所以一定要保证配置是正确,否则就会出现 Undefined index:openid
file
file

答疑就到这里,发现错误可以看看源代码,可能会有意想不到的收获,有帮助到你的话,就点个赞吧。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

如果按照书的流程就是 config/services.php

5年前 评论

好像没获取到信息,也会引起这个报错

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!