fox111 发表于 2015-9-1 10:58:05

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 valueexpire_time
          $news_detail = Yii::app()->cache->get('news_1');
  
  参考资料:
  http://hi.baidu.com/whzkinger/item/6cc85c5c01fbc011db16355f
  http://www.iyunv.com.com/Linux/2012-02/54016.htm
  
  备注:
  下载 zlibhttp://www.zlib.net/
  下载后,解压,./configuremakesudo 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]
查看完整版本: mac + apache2 +memcached +yii