|
ci version 2.0.3使用默认的memcache配置,代码有错误。
在目录system/libraries/Cache/Cache_memcached.php
该文件,_setup_memcached函数,第160到173行,如下:
PHP复制代码 if ( ! array_key_exists('hostname', $cache_server))
{
$cache_server['hostname'] = $this->_default_options ['default_host'];
}
if ( ! array_key_exists('port', $cache_server))
{
$cache_server['port'] = $this->_default_options ['default_port'];
}
if ( ! array_key_exists('weight', $cache_server))
{
$cache_server['weight'] = $this->_default_options ['default_weight'];
} 复制代码
感觉这里的代码$this->_default_options有问题,应该改成如下:
PHP复制代码 if ( ! array_key_exists('hostname', $cache_server))
{
$cache_server['hostname'] = $cache_server['default_host'];
}
if ( ! array_key_exists('port', $cache_server))
{
$cache_server['port'] = $cache_server['default_port'];
}
if ( ! array_key_exists('weight', $cache_server))
{
$cache_server['weight'] = $cache_server['default_weight'];
} 复制代码
请大家讨论。。。
再问大家一个问题。在判断是否支持memcache的函数is_supported里,是这样判断
PHP复制代码 public function is_supported () {
if ( ! extension_loaded('memcached'))
{
log_message ('error', 'The Memcached Extension must be loaded to use Memcached Cache.');
return FALSE;
}
$this->_setup_memcached ();
return TRUE;
} 复制代码
我还看到一个memcached函数库
其实有2个memcache函数库,名字也差不多
一个是memcache
另一个是memcached(这个也就是ci使用的)
两个函数库应该说功能应该也差不多。。。大家一般用哪个?(两个库在php文档中都有。。。看来都还可以。。。)
一开始我装了另一个库。。。怎么老说不支持。大家用的时候也要看仔细了。。。
|
|