微信获取token服务器处理,微信硬件平台(九) 自己的服务器从微信获取token并保存txt...

1安装crontab:

yum install crontabs

说明:

service crond start //启动服务

service crond stop //关闭服务

service crond restart //重启服务

service crond reload //重新载入配置

查看crontab服务状态:service crond status

手动启动crontab服务:service crond start

查看crontab服务是否已设置为开机启动

chkconfig crond on

2使用创建新任务

调用一次获取依次token,存在txt文件里

7e76750ad5a0f936310d30657b5f232b.png

token.php

请修改自己微信的开发者ID信息

强调:  所有路径都必须给绝对路径!!!  不管是执行文件本身路径,还是文件里面填写的其他路径!!!

手动执行正常可以改变

但是!!!!!!!!!!!!!!!

自动任务执行,txt始终不变!!!!

原因在于,自动执行任务没有加载环境变量配置,不知道这个txt位置,所以txt文件必须给绝对路径!!!!!!

class TokenUtil {

//获取access_token并保存到token.txt文件中

public static function build_access_token(){

$ch = curl_init(); //初始化一个CURL对象

curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=自己的微信开发者ID&secret=自己的微信开发者密码");//设置你所需要抓取的URL

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中,假设上面的0换成1的话,那么接下来的$data就需要echo一下。

$data = json_decode(curl_exec($ch));

// echo data;

if($data->access_token){

$token_file = fopen("/var/www/html/WexinToken/token.txt","w") or die("Unable to open file!");//打开token.txt文件,没有会新建

fwrite($token_file,$data->access_token);//重写tken.txt全部内容

fclose($token_file);//关闭文件流

}else{

echo $data->errmsg;

}

curl_close($ch);

}

//设置定时器,每两小时执行一次build_access_token()函数获取一次access_token

public static function set_interval(){

echo "go set_interval!";

ignore_user_abort();//关闭浏览器仍然执行

set_time_limit(0);//让程序一直执行下去

$interval = 7200;//每隔一定时间运行

$switch = include 'switch.php';

while($switch){

$switch = include 'switch.php';

// build_access_token();

sleep($interval);//等待时间,进行下一次操作。

echo "go!";

};

}

//读取token

public static function read_token(){

$token_file = fopen("token.txt", "r") or die("Unable to open file!");

$rs = fgets($token_file);

fclose($token_file);

return $rs;

}

}

// echo "1!";

$wechat = new TokenUtil();

// echo "2!";

$wechat->build_access_token();

// $wechat->read_token();

?>

token.txt

用于存放接收到的token

给与token.txt操作权限

sudo chmod -R 777 test.txt

创建一个新任务,每两个小时调用一次token.php,修改token.txt

crontab -e

7609e1eaba52323fcc1e92fbaa7d7e1f.png

按 i  进入插入模式

60eb5cb37b91d57d3bde6cff75cf58eb.png

先用 一分钟请求一次

*/1 * * * * /usr/bin/php /var/www/html/WexinToken/token.php

验证下是否修改了txt

c1f5c9d92ab25e6d973532b307697376.png

成功后删除原来的定时任务

crontab -r

输入一个新命令  每两个小时执行一次

* */2 * * * /usr/bin/php /var/www/html/WexinToken/token.php

bce013133c2f217db93b707dffbad9bf.png

退出保存

1按 Esc

2按:

3按wq

4回车

af62983d3fe7e8accab02970a31221fe.png

查看正在运行的定时任务

crontab -l

96fd4fd69722f516e6fe54d300d01e10.png

重新载入配置文件或者重启服务以开始执行

service crond restart

如果想要删除配置,执行

crontab -r

no crontab for root 解决方案

主要原因是由于这个liunx服务器 第一次使用 crontab ,还没有生成对应的文件导致的,执行了 编辑(crontab -e)后 就生成了这个文件

[root@localhost ~]# crontab -l

no crontab for root

这个问题非常简单,同样在 root 用户下输入 crontab -e

1 按 Esc

2按:

3按wq

4回车

在输入 crontab -l 就没有问题了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值