codeigniter数据库缓存配置

时间:2016-08-29 09:38:59

标签: php database codeigniter caching

我无法为我的系统配置数据库缓存。我已经尝试过互联网上的所有配置。请帮帮我。

$db['default'] = array(
'dsn'   => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '123',
'database' => 'test',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => TRUE,
'cachedir' => 'application/cache',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt'  => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
    'save_queries' => TRUE
);

以下是我收到的错误消息

遇到未捕获的异常

类型:异常

消息:已配置的数据库连接已启用缓存。中止。

文件名:C:\ wamp \ www \ test \ system \ libraries \ Session \ drivers \ Session_database_driver.php

2 个答案:

答案 0 :(得分:3)

缓存分三个步骤启用:

1)在服务器上创建一个可写目录,可以存储缓存文件。

2)在application / config / database.php文件中设置缓存文件夹的路径。 例如:

$db['default']['hostname'] = 'XXXXX';
$db['default']['username'] = 'XXXXX';
$db['default']['password'] = 'XXXXX';
$db['default']['database'] = 'XXXXX';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = 'XXX';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = TRUE;
$db['default']['cachedir'] = 'application/cache';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

3)通过在application / config / database.php文件中设置首选项来全局启用缓存功能,或者 手动启用/禁用缓存,如下所述。

 // Turn caching on
 $this->db->cache_on();

 // Turn caching off for this one query
 $this->db->cache_off();

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

sudo chmod 777 -R application/cache

我希望它对你有用。

答案 1 :(得分:0)

我必须按如下所示修改db_cache类

vi +146 /var/www/html/sys/database/DB_cache.php

// ekariz

if(!is_readable($filepath)){
    return FALSE;
}