为了账号安全,请及时绑定邮箱和手机立即绑定

php扩展memcache和memcached安装

标签:
PHP

首先简单介绍下memcache和memcached的区别

两个不同版本的php的memcached的客户端
new memcache是pecl扩展库版本
new memcached是libmemcached版本

memcache最早是在2004年2月开发的,最后更新是在2013年4月,而memcached最早是在2009年1月开发的,最后更新是在2014年1月更新的。所以memcache的历史比memcached早。

在安装memcache扩展的时候并不要求安装其他东东,但是在安装memcached的时候会要求你安装libmemcached,问题来了,libmemcached是memcache的C客户端,它具有的优点是低内存,线程安全等特点。


安装PHP的Memcached扩展

1.下载文件:
    https://launchpad.net/libmemcached/+download, 下载libmemcached依赖库
    http://pecl.php.net/package/memcached, 下载php memcached扩展
2. 解压
    tar zxvf libmemcached-0.44.tar.gz
    tar zxvf memcached-1.0.2.tgz
3. 编译libmemcached
    cd libmemcached-0.44
    ./configure --prefix=/usr/local/libmemcached
    make && make install

4. 编译memcached扩展
    cd memcached-1.0.2
    /usr/local/php/bin/php/phpize
    ./configure -with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached #与安装libmemcached时指定的prefix一致

    make && make install

5. 安装扩展
    vim /usr/local/php/bin/php.ini 
    #加入一行: extersion=memcached.so
6. 重启php服务
7. 验证(查看phpinfo)

memcached
memcached support    enabled
Version     1.0.2
libmemcached version     0.44
Session support     yes
igbinary support     no

###如果在添加扩展so文件时,直接修改php.ini,那么可能会出现下面的错误:
/usr/lib/php/modules/memcached.so: undefined symbol: php_json_encode in Unknown on line 0
这个错误是因为在 memcached.so 加载之前必须加载 json.so ,而json.so是在/etc/php.d/json.ini中加载,这样会导致json.so在memcached.so之后加载;可以删除/etc /php.d/json.ini文件,而在php.ini中直接添加extensino=json.so来解决(添加在memcached.so之前)


安装PHP的Memcache扩展
1.在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
2.安装PHP的memcache扩展

tar zxf memcache-3.0.6.tgz 

cd memcache-3.0.6

/usr/local/php/bin/phpize

 ./configure --enable-memcache=/usr/local/memcache --with-php-config=/usr/local/php/bin/php-config 

make && make install

3.上述安装完后会有类似这样的提示:

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/

4.把php.ini中的extension_dir = “./”修改为

extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”

添加一行来载入memcache扩展:extension=memcache.so

5.重启apache,service httpd restart

测试,用phpinfo查看



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
18
获赞与收藏
134

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消