我怎么尽遇到怪问题啊。。。
我用CI自带的缓存要出错啊,是按照手册来的啊$this->load->driver('cache',array('adapter'=>'apc','backup'=>'file'));
if ( ! $foo = $this->cache->get('foo')){
echo 'Saving to the cache!<br />';
$foo = 'foobarbaz!';
// Save into the cache for 5 minutes
$this->cache->save('foo', $foo, 300);
}
echo $foo;
运行这段代码后:
Fatal error: Call to undefined function apc_fetch() in E:\wamp\www\myci\system\libraries\Cache\drivers\Cache_apc.php on line 41
这可咋整啊。。。。 你要先安装 apc 扩展。。。
CI 只是一个 APC 扩展的封装而已。
要了解什么是 APC 请 google php apc 因为你不仔细看手册。
缓存那节一开始就有如下的话:
CodeIgniter提供了多种目前业界流行的快速动态缓存组件的封装类。除了基于纯文本的缓存(文件缓存)外,其他缓存组件均需对服务器环境进行正确配置才能使用,否则程序会抛出致命异常(Fatal Exception)错误。 看着英文完全可以理解这是什么意思了。 哦 原来是这样啊。。。。多谢各位了。。。{:1_1:} jeongee 发表于 2012-1-28 22:14 static/image/common/back.gif
因为你不仔细看手册。
缓存那节一开始就有如下的话:
首先加载缓存适配器,然后指定 APC 作为适配器优先使用的缓存实现,同时,我们指定文本缓存作为替代方案。这样,在一些服务器不支持APC的情况下(如国内的虚拟主机),我们可以使用替代方案保证程序正常运行。那这个怎么理解啊我也是这么写的 也是同样的错误 jeongee 发表于 2012-1-28 22:14 static/image/common/back.gif
因为你不仔细看手册。
缓存那节一开始就有如下的话:
我确定我的php没配置过apc 但是这个
首先加载缓存适配器,然后指定 APC 作为适配器优先使用的缓存实现,同时,我们指定文本缓存作为替代方案。这样,在一些服务器不支持APC的情况下(如国内的虚拟主机),我们可以使用替代方案保证程序正常运行。
不应该理解为 如果使用这种方式如果不支持apc 那么系统会选择 文件缓存 ?????????????? ☆淡定★ 发表于 2012-2-18 11:55 static/image/common/back.gif
我确定我的php没配置过apc 但是这个
首先加载缓存适配器,然后指定 APC 作为适配器优先使用的缓存实现 ...
你理解错了,呵呵。
这里的意思是如果你的服务器不支持 APC,请选择文件缓存,文件缓存需要你设置,不是自动的。
具体请看手册。
例如这就是使用文件缓存:
$this->load->driver('cache');
$this->cache->file->save('foo', 'bar', 10);
请仔细理解什么是“适配器”
Hex 发表于 2012-2-19 12:56 static/image/common/back.gif
你理解错了,呵呵。
这里的意思是如果你的服务器不支持 APC,请选择文件缓存,文件缓存需要你设置,不是自 ...
嗯嗯 好的 谢谢啊 Hex 发表于 2012-2-19 12:56 static/image/common/back.gif
你理解错了,呵呵。
这里的意思是如果你的服务器不支持 APC,请选择文件缓存,文件缓存需要你设置,不是自 ...
说的不对吧?
我看了他说是GET方法的时候,会调用__get方法,这个方法就是检查是否支持第一个缓存的,不支持的话就调用第2个缓存,但是我发现根本不会调用,BUG吧?
解决方法是在 Cache这个类里的_init****这个函数的底部调用 is_support这个函数。
传入的参数就是上面的那个 $this->{$param}
已经解决了。
页:
[1]
2