我无法为我的系统配置数据库缓存。我已经尝试过互联网上的所有配置。请帮帮我。
$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
答案 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类
// ekariz
if(!is_readable($filepath)){
return FALSE;
}