Failed to cache access token.错误处理 laravel使用overtrue/wechat拓展开发中遇到的一个问题


如果遇到 Failed to cache access token 的问题,一般有两种可能


第一种情况,你可能使用的是 overtrue/wechat 4.1.16 版本,因为作者的大意引发的BUG,作者紧接着在4.1.17就修复了,更新新版就可以了。


第二种情况就是我遇到的坑。。折腾了我一晚上,写出来纪念一下。。

问题的源起是我修改了php-fpm的运行用户,处理完一些常见的目录权限之后,报了Failed to cache access token 这个错误,于是我去 overtrue/wechat/src/Kernel/AccessToken.php:141 看了下源码,发现是因为token缓存文件没写成功。

然后在文档( 缓存 )中找到了缓存方式。
overtrue/wechat 默认使用的是 symfony/cache 来进行缓存操作,ubuntu中,symfony/cache会在/tmp目录下建立symfony_cache来储存临时缓存。
ps:如果不是/tmp目录,可以使用 sys_get_temp_dir() 方法获取你的临时文件目录。

因为之前使用www-data用户运行的项目,所以symfony_cache目录已被www-data创建,且其他用户不可写,直接删掉这个目录或者修改权限就可以了!

我的问题解决,你呢?

本文发表于2019年02月27日 23:34
阅读 11425 讨论 3 喜欢 11

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1