mac + apache2 +memcached +yii

以前总是害怕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/

1、以专家为榜样,不必自己重新探索
2、解构技能,找出实现80%效果的那20%
3、不要一心二用
4、练习练习再练习!然后获得即时反馈
5、坚持,不要在低谷期放弃
原文地址:https://www.cnblogs.com/zhongyuan/p/3039700.html