微信获取token服务器处理,微信硬件平台(九) 自己的服务器从微信获取token并保存txt...
1安裝crontab:
yum install crontabs
說明:
service crond start //啟動(dòng)服務(wù)
service crond stop //關(guān)閉服務(wù)
service crond restart //重啟服務(wù)
service crond reload //重新載入配置
查看crontab服務(wù)狀態(tài):service crond status
手動(dòng)啟動(dòng)crontab服務(wù):service crond start
查看crontab服務(wù)是否已設(shè)置為開機(jī)啟動(dòng)
chkconfig crond on
2使用創(chuàng)建新任務(wù)
調(diào)用一次獲取依次token,存在txt文件里
token.php
請(qǐng)修改自己微信的開發(fā)者ID信息
強(qiáng)調(diào):? 所有路徑都必須給絕對(duì)路徑!!!? 不管是執(zhí)行文件本身路徑,還是文件里面填寫的其他路徑!!!
手動(dòng)執(zhí)行正常可以改變
但是!!!!!!!!!!!!!!!
自動(dòng)任務(wù)執(zhí)行,txt始終不變!!!!
原因在于,自動(dòng)執(zhí)行任務(wù)沒有加載環(huán)境變量配置,不知道這個(gè)txt位置,所以txt文件必須給絕對(duì)路徑!!!!!!
class TokenUtil {
//獲取access_token并保存到token.txt文件中
public static function build_access_token(){
$ch = curl_init(); //初始化一個(gè)CURL對(duì)象
curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=自己的微信開發(fā)者ID&secret=自己的微信開發(fā)者密碼");//設(shè)置你所需要抓取的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//設(shè)置curl參數(shù),要求結(jié)果是否輸出到屏幕上,為true的時(shí)候是不返回到網(wǎng)頁中,假設(shè)上面的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文件,沒有會(huì)新建
fwrite($token_file,$data->access_token);//重寫tken.txt全部?jī)?nèi)容
fclose($token_file);//關(guān)閉文件流
}else{
echo $data->errmsg;
}
curl_close($ch);
}
//設(shè)置定時(shí)器,每?jī)尚r(shí)執(zhí)行一次build_access_token()函數(shù)獲取一次access_token
public static function set_interval(){
echo "go set_interval!";
ignore_user_abort();//關(guān)閉瀏覽器仍然執(zhí)行
set_time_limit(0);//讓程序一直執(zhí)行下去
$interval = 7200;//每隔一定時(shí)間運(yùn)行
$switch = include 'switch.php';
while($switch){
$switch = include 'switch.php';
// build_access_token();
sleep($interval);//等待時(shí)間,進(jìn)行下一次操作。
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操作權(quán)限
sudo chmod -R 777 test.txt
創(chuàng)建一個(gè)新任務(wù),每?jī)蓚€(gè)小時(shí)調(diào)用一次token.php,修改token.txt
crontab -e
按 i? 進(jìn)入插入模式
先用 一分鐘請(qǐng)求一次
*/1 * * * * /usr/bin/php /var/www/html/WexinToken/token.php
驗(yàn)證下是否修改了txt
成功后刪除原來的定時(shí)任務(wù)
crontab -r
輸入一個(gè)新命令? 每?jī)蓚€(gè)小時(shí)執(zhí)行一次
* */2 * * * /usr/bin/php /var/www/html/WexinToken/token.php
退出保存
1按 Esc
2按:
3按wq
4回車
查看正在運(yùn)行的定時(shí)任務(wù)
crontab -l
重新載入配置文件或者重啟服務(wù)以開始執(zhí)行
service crond restart
如果想要?jiǎng)h除配置,執(zhí)行
crontab -r
no crontab for root 解決方案
主要原因是由于這個(gè)liunx服務(wù)器?第一次使用 crontab ,還沒有生成對(duì)應(yīng)的文件導(dǎo)致的,執(zhí)行了 編輯(crontab -e)后 就生成了這個(gè)文件
[root@localhost ~]# crontab -l
no crontab for root
這個(gè)問題非常簡(jiǎn)單,同樣在 root 用戶下輸入 crontab -e
1 按 Esc
2按:
3按wq
4回車
在輸入 crontab -l 就沒有問題了
總結(jié)
以上是生活随笔為你收集整理的微信获取token服务器处理,微信硬件平台(九) 自己的服务器从微信获取token并保存txt...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地球外存在“生命之源”首次确认:距离地球
- 下一篇: 固定资产管理有关的计算机知识,计算机技术