Rumah >pembangunan bahagian belakang >tutorial php >php微信开发的时候 如何把access_token长期有效的保存,求高手解答

php微信开发的时候 如何把access_token长期有效的保存,求高手解答

WBOY
WBOYasal
2016-06-06 20:22:511897semak imbas

<code><?php $appid="wx44a58ea3509d09fa";
 $appsecret="d4624c36b6795d1d99dcf0547af5443d";
 $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
 //1、初始化CURL回话
 $ch=curl_init();
 //2、设置CURL选项
 curl_setopt($ch, CURLOPT_URL, $url);
 //将请求的结果以文件流的形式返回
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 //执行一个curl
 $outopt=curl_exec($ch);
 //4、关闭curl回话
 curl_close($ch);
$access_token_arr=json_decode($outopt,true);
$access_token= $access_token_arr['access_token'];
 echo $access_token;
 ?></code>

回复内容:

<code><?php $appid="wx44a58ea3509d09fa";
 $appsecret="d4624c36b6795d1d99dcf0547af5443d";
 $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
 //1、初始化CURL回话
 $ch=curl_init();
 //2、设置CURL选项
 curl_setopt($ch, CURLOPT_URL, $url);
 //将请求的结果以文件流的形式返回
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 //执行一个curl
 $outopt=curl_exec($ch);
 //4、关闭curl回话
 curl_close($ch);
$access_token_arr=json_decode($outopt,true);
$access_token= $access_token_arr['access_token'];
 echo $access_token;
 ?></code>

计划任务,定时刷新

你需要https://github.com/dodgepudding/wechat-php-sdk

https://github.com/thenbsp/wechat/blob/master/src/AccessToken.php

抖个机灵,用Redis,设置一个过期时间
之后做微信相关开发时打算这么干

access_token 你可以长期保存但是只有7200秒的有效期.

保存方式:

  1. 文件

  2. 数据库

  3. redis

我来说个土方法,数据库建一个表,字段有id,content,updated_at
初始化放一条数据进去:1,accesstoken,1440121354
然后需要获取access_token的时候,用现在的时间戳time()去数据库里查where id=1 and updated_at> time()-失效时间
要是获取过来有值,那就直接拿来用,要是没有说明时间太久了,重新获取下accesstoken,然后存到数据库里,更新时间戳

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn