Linux 以執行使用者執行定時任務後,報錯 Failed to cache access token

wildwave發表於2020-06-11

繼連續踩坑
Linux 中 Laravel 任務排程不執行
Linux 執行定時任務後,Laravel 專案報錯
第三天迎來這樣的報錯,
linux以執行使用者執行定時任務後,報錯Failed to cache access token
列印日誌報錯 Failed to cache access token;
背景:以系統執行使用者執行了定時任務 crontab -u nginx -e後,任務程式碼去執行一條微信服務號通知。貼上程式碼:

linux以執行使用者執行定時任務後,報錯Failed to cache access token

之前以root使用者執行定時任務是可以正常傳送的,但是由於日誌許可權問題,需要切換到以網站執行使用者執行,然後檢視日誌,發現報錯Failed to cache access token;
網上查詢了如下解決方法,例:
在執行 $app = Factory::officialAccount($config); 後面加上
$app[‘cache’] = new Overtrue\LaravelWeChat\CacheBridge(app(cache.store));
然後我放入了專案中,發現根本沒有CacheBridge這個檔案,檢視後得知,laravel-wechat 5.0沒有該檔案,於是接著找解決方法。在一條評論下看到了解決方式,

linux以執行使用者執行定時任務後,報錯Failed to cache access token
於是我懷著激動的心情,將這段放入我的程式碼中,

linux以執行使用者執行定時任務後,報錯Failed to cache access token
執行後,執行成功。
貼上解決程式碼:

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 協議》,轉載必須註明作者和本文連結

相關文章