老师,我调试获取token接口时,报错为:$wxResult为null.
来源:9-8 API小程序测试工具
yyii
2017-12-30
老师,我调试这个接口时报错了,弄了很久找不到解决办法。
请您看看好吗?
myzerg.ccc/api/v1/token/user?XDEBUG_SESSION_START=19422。
code,appid,secrete, 都有,也勾选了不检验域名,
但是 $wxResult = json_decode($result, true); 这里返回为null 。
后来我把,$this->wxLoginUrl打印出来。
放在地址栏:
第一次会返回正确:
{
session_key: "wZs3Lw3uEFKlYG3oKUPSAg==",
expires_in: 7200,
openid: "odRAB0SOqiMudKgsgdH6q2hFuwe0"
}
后面再用此code就会返回错误:
{
errcode: 40163,
errmsg: "code been used, hints: [ req_id: Gx8Bfa0389th36 ]"
}
这样看起来象curl_get方法有问题,但这是我copy老师的方法。
然后我把此方法中提到的,不做证书校验,改为true或false都试过后,报同样的问题。(无论false还是true)
function curl_get($url, &$httpCode=0){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//不做证书校验,部署在linux环境下请改为true
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$file_contents = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $file_contents;
}
那是哪里的问题呢?
请教老师怎么解决呢?谢谢老师!
3回答
-
code只能用一次啊。第二次当然返回已经被使用。
012018-01-02 -
yyii
提问者
2019-10-22
找到原因了,我有多个php版本,当时用的是php 5.6。curl就报错。
现在切换到php7版本,就好了。00 -
yyii
提问者
2018-01-02
好的,谢谢老师!为什么程序第一次运行到curl_get时,也是返回null呢?这个我一直没弄出来。上面调试可以看出。
00
相似问题