微信开发中,为什么会出现overtruewechat库缓存access token失败的问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计290个文字,预计阅读时间需要2分钟。
在Laravel中安装overtrue/wechat后,遇到Failed to cache access token错误,原因可能是在overtrue/wechat SDK中所有缓存默认使用文件存储,缓存路径取决于PHP的临时目录,默认情况下存储在`runtime`目录下。
Laravel 中安装 overtrue/wechat 后运行报错 Failed to cache access token ,原因如下:
在 overtrue/wechat SDK 中的所有缓存默认使用文件缓存,缓存路径取决于 PHP 的临时目录,默认情况下存储在/tmp/symfony-cache目录下, 报这个错误的原因一般是缓存目录没有写权限导致的,需要给缓存目录赋予进程执行用户的写权限,如php以www用户执行, 赋予写权限
sudo chown www:www /tmp/symfony-cache
sudo chmod 644 -R /tmp/symfony-cache
更换缓存驱动
还有一种方法就是修改缓存驱动,如将缓存驱动替换为 redis
use EasyWeChat\Factory;
use Symfony\Component\Cache\Adapter\RedisAdapter;
$app = Factory::officialAccount($config);
// 自定义缓存实例
$cache = new RedisAdapter(app('redis')->connection('cache')->client());
$app->rebind('cache', $cache);
本文共计290个文字,预计阅读时间需要2分钟。
在Laravel中安装overtrue/wechat后,遇到Failed to cache access token错误,原因可能是在overtrue/wechat SDK中所有缓存默认使用文件存储,缓存路径取决于PHP的临时目录,默认情况下存储在`runtime`目录下。
Laravel 中安装 overtrue/wechat 后运行报错 Failed to cache access token ,原因如下:
在 overtrue/wechat SDK 中的所有缓存默认使用文件缓存,缓存路径取决于 PHP 的临时目录,默认情况下存储在/tmp/symfony-cache目录下, 报这个错误的原因一般是缓存目录没有写权限导致的,需要给缓存目录赋予进程执行用户的写权限,如php以www用户执行, 赋予写权限
sudo chown www:www /tmp/symfony-cache
sudo chmod 644 -R /tmp/symfony-cache
更换缓存驱动
还有一种方法就是修改缓存驱动,如将缓存驱动替换为 redis
use EasyWeChat\Factory;
use Symfony\Component\Cache\Adapter\RedisAdapter;
$app = Factory::officialAccount($config);
// 自定义缓存实例
$cache = new RedisAdapter(app('redis')->connection('cache')->client());
$app->rebind('cache', $cache);

