以前总是害怕memcached配错,很难找到问题,往往浏览器就报一个空白,什么324这种冷门的错,根本无法追踪错误。
昨天、今天,决定不再畏惧,直面挑战,庆幸的是完成了。感动~ 下面是mac下的安装,与ubuntu下有相似之处。
第一:memcached 分两块:
1、memcached本身就是属于服务器的高性能的分布式内存对象缓存系统。属于服务器层面的系统,与php、java等语言无关。
2、为了使php能调用它,需要安装php相关的插件,来让cgi能够知道怎么处理里面出现的memcached调用。
第二:memcached 安装(正好相对于上面两块):
一:memcached 服务器端安装:
与下面类似,网上很多,这个早安装了,不想double了,所以大家自己去网上看看吧,可能需要重启电脑,安装完测试: memcached -h
https://jamiecurle.co.uk/blog/memcached-on-osx-without-macports/ //这篇不错
http://www.glenscott.co.uk/blog/2009/08/30/install-memcached-php-extension-on-os-x-snow-leopard/
二:php-memcache组件的安装:
mac没有ubuntu下的简单,要自己下载php组件安装
http://pecl.php.net/package/memcache
1、解压后:cd memcache-2.2.7
2、phpize
3、./configure(有可能报 error: memcache support requires ZLIB.,解决办法见备注)
4、make
5、sudo make install //要加sudo,不然会报Permission denied。
6、检查/usr/lib/php/extensions/no-debug-non-zts-20090626里生成memcache.so文件,有,则安装成功。
7、修改php.ini的配置文件,添加extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/memcache.so //有时候php.ini太多,自己不知道系统加载的哪个,可以通过phpinfo(),看里面调的是哪个php.ini
8、重启apache 和
9、测试方法一:查看phpinfo()是否有memcached
测试方法二:查看 phpinfo 中的 “Registered save handlers” 会有 “files user memcache” 这3个可用。
测试方法三: 在memcache的安装组件的文件中,有个example.php的文件,复制到web目录下,运行一下就可以看出来了,里面代码很简单。
三:重启apache 和 memcached
sudo apachectl restart
memcached -d -m 100 -p 11211 -u root //这个运行完了,可以看看11211端口是否有用:lsof -i:11211,记不清是mac下的,还是ubuntu下的。
四:yii的memcache配置
config/mian.php下面的’components’下面
’cache’ => array(
’class’ => ‘CMemCache’,
’servers’=>array(
array(‘host’=>’127.0.0.1’, ‘port’=>11211, ‘weight’=>100),
),
),
检测:http://localhost/cos/yii/requirements/index.php //浏览器运行yii自带的测试页面
使用:
Yii::app()->cache->set(‘news_1′,’我是一号新闻啊啊啊啊啊啊啊~’,3000); //key value expire_time
$news_detail = Yii::app()->cache->get(‘news_1’);
参考资料:
http://hi.baidu.com/whzkinger/item/6cc85c5c01fbc011db16355f
http://www.linuxidc.com/Linux/2012-02/54016.htm
备注:
下载 zlib http://www.zlib.net/
下载后,解压,./configure make sudo make install 即可。
安装完zlib之后,再安装memache成功~
最后显示:
LiangdeMacBook-Air:memcache-2.2.7 liangde $ sudo make install
Installing shared extensions: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/