Linux 以运行用户执行定时任务后,报错 Failed to cache access token
继连续踩坑
Linux 中 Laravel 任务调度不执行;
Linux 执行定时任务后,Laravel 项目报错
第三天迎来这样的报错,
打印日志报错 Failed to cache access token;
背景:以系统运行用户执行了定时任务 crontab -u nginx -e后,任务代码去执行一条微信服务号通知。贴上代码:
之前以root用户执行定时任务是可以正常发送的,但是由于日志权限问题,需要切换到以网站运行用户执行,然后查看日志,发现报错Failed to cache access token;
网上查找了如下解决方法,例:
在执行 $app = Factory::officialAccount($config); 后面加上
$app[‘cache’] = new Overtrue\LaravelWeChat\CacheBridge(app(cache.store));
然后我放入了项目中,发现根本没有CacheBridge这个文件,查看后得知,laravel-wechat 5.0没有该文件,于是接着找解决方法。在一条评论下看到了解决方式,
于是我怀着激动的心情,将这段放入我的代码中,
运行后,执行成功。
贴上解决代码:
use Symfony\Component\Cache\Simple\FilesystemCache;
$app = Factory::officialAccount($config);
$cache = new FilesystemCache(‘’, 0, storage_path(‘framework/cache/data’));
$app->rebind(‘cache’, $cache);
参考链接:www.cnblogs.com/SHQHDMR/p/10894462...
本作品采用《CC 协议》,转载必须注明作者和本文链接
FilesystemCache 你这个又是怎么来的