【问题标题】:CodeIgniter Database Query Caching IssueCodeIgniter 数据库查询缓存问题
【发布时间】:2012-11-28 12:38:02
【问题描述】:

我通过 application/config/database.php 文件在 CodeIgniter 中启用了查询缓存,它起作用了。然后我禁用它,并注释掉文件夹路径。然后,当我重新启用缓存并取消注释文件夹路径时,缓存将不起作用。

我尝试过其他目录。这在本地和 Web 服务器上都是一个问题。

$db['default']['cache_on'] = TRUE;
$db['default']['cachedir'] = './application/cache/';

这些是我的 database.php 设置。我试过删除'。从字符串的开头。我还尝试删除尾随和前面的斜杠。

任何帮助将不胜感激。谢谢。

编辑:我知道该文件夹是可写的,因为存储整页缓存是可行的。

【问题讨论】:

  • 你到底是什么意思它不起作用?有什么错误吗?您是否尝试过使用绝对路径?清除缓存目录并重试?也许启用 CI 的日志记录在这里也有帮助 - 只需确保日志文件夹是可写的
  • 没有任何错误。我尝试了绝对路径,但仍然没有骰子。这令人难以置信的愤怒。我知道该文件夹是可写的,就像我使用 $this->output->cache(100); 一样,它会写入该文件夹。我也清空了缓存目录,仍然没有。启用日志记录不会产生错误。
  • 您是否有可能使用多个数据库配置 - Environments 或不同的数据库组(默认除外)并且其中一个具有旧设置?
  • 我做了,但是我删除了第二个数据库配置,它仍然不起作用。我什至更换了 database.php 以防万一,什么都没有。
  • 好吧,那么我想到的唯一一件事就是简单地尝试创建一个空的 CodeIgniter 安装并在 Welcome 控制器中使用示例数据库代码来查看它是否有效。从那时起,您应该能够分辨出您的应用与默认应用之间的区别(例如,通过使用Eclipse 中的比较工具)。

标签: database codeigniter caching


【解决方案1】:

在config/database.php中定义缓存目录如下:

$db['default']['cachedir'] = APPPATH . 'cache';

另外,请确保您的目录是可写的(如果您在 Mac 或 Linux 上)

sudo chmod 777 -R application/cache

如果仍然不起作用,请尝试在运行数据库查询之前显式打开缓存。

$this->db->cache_on();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-30
    • 2011-06-09
    • 2019-05-12
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多