TP6 接入 EasyWeChat 缓存报错

技术分享  / 只看大图  / 倒序浏览   ©

#楼主# 2020-2-12

跳转到指定楼层

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
情况

PHP7.2 \ Apache \ CentOS \
报错信息

file_exists(): open_basedir restriction in effect. File(/tmp/symfony-cache/easywechat) is not within the allowed path(s): (/var/www/html)问题文件

\vendor\symfony\cache\Traits\FilesystemCommonTrait.php
问题代码

200502hjvpwqpkbec1eekk.png
分析

根据EasyWeChat  官方文档提示,缓存使用的是 symfony/cache,跟踪代码后发现 底层使用 sys_get_temp_dir函数,由于我们项目是分布式部署的,而且现在报错信息提示没有写入权限,故需要改变缓存驱动来解决这个问题。
根据EasyWeChat 官方文档提示,可以使用redis作为驱动, 也可以自定义缓存类前提是必须遵循PSR-16规范。
TP官方自带缓存类,而且符合该规范,并且我们项目使用的是Redis作为存储引擎,部署上没有问题。以是直接更换 EasyWeChat  的缓存驱动为 tp-cache,问题解决。
200502uea4z5p4533m05ma.png
200503j7vzxzpap75a5x5c.png
200503mt6gbrdb2jd3nibi.png
EasyWeChat   缓存文档地址:
https://www.easywechat.com/docs/4.1/customize/cache
ThinkPHP6 缓存文档地址:
https://www.kancloud.cn/manual/thinkphp6_0/1037634
分享淘帖
回复

使用道具

您的回复是对作者最大的奖励

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

张凌宇爸

新手猿

  • 主题

    4

  • 帖子

    4

  • 关注者

    0

Archiver|手机版|小黑屋|云大陆 | 赣ICP备18008958号-4|网站地图
Powered by vrarz.com!  © 2019-2020版权所有云大陆