TP5建立缓存文件会建到服务器根目录去

发布于 2022-09-07 16:01:28 字数 304 浏览 10 评论 0

is_dir(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/home/www.abc.com/public:/home/www.abc.com/:/proc/:/tmp)

关键File(/)不是应该指向runtime/cache里面吗,怎么会变成/,我打印var_dump(RUNTIME_PATH . 'cache' . DS);输出"/home/www.abc.com/runtime/cache/",这里的地址对啊,真的搞不懂,有大神帮我解释下吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

空气里的味道 2022-09-14 16:01:28
  1. tp的缓存目录是用常量CACHE_PATH设置的。建议你打印一下CACHE_PATH,看看指向的目录在哪里。
  2. 看了报错原因,应该是open_basedir限制了PHP能操作的目录, 在虚拟主机的conf里加上
fastcgi_param PHP_ADMIN_VALUE open_basedir=$document_root/:/home/www.abc.com/runtime/cache/

然后重启nginx

不交电费瞎发啥光 2022-09-14 16:01:28

楼上说的正解,我看了下你打印缓存目录是对的,但是生成的时候是在根目录,建议你去看下生成缓存的方法是不是指定了目录或者是不是源码里面改动过根本没有读系统的配置

━╋う一瞬間旳綻放 2022-09-14 16:01:28

检查下代码,实在发现不了,可以一步一步的打印,跟着代码走,看看哪里的路径出现了错误

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文