设为首页 收藏本站
查看: 578|回复: 0

[经验分享] php安装memcached扩展

[复制链接]

尚未签到

发表于 2018-12-11 13:15:43 | 显示全部楼层 |阅读模式
  PHP为了可以与memcached服务器端交互,有两个PHP扩展可以使用:memcache扩展和memcached扩展。安装两个中的任一个扩展都可与memcached服务器实现交互。memcached扩展比较新,相对来说性能各方面可能会好一点。实际工作中,安装哪个扩展最终可能还是取决于开发人员使用的是哪个扩展。我这里介绍如何安装两个中的memcached扩展。我的操作系统是CentOS 6.5版本的。
给PHP 5.6安装memcached扩展
  以前,使用PHP 5.6时,要安装memcached扩展,我通常是这样做的。
  1、先yum安装php-devel。这个php-devel包含了编译PHP扩展所需的文件。
yum install php-devel
  2、memcached扩展依赖于libmemcached库。这个libmemcached是C/C++语言写的memcached客户端工具和库。所以,使用yum安装libmemcached库:
yum install libmemcached libmemcached-devel
  3、然后,使用pecl命令直接自动化下载、编译和安装memcached扩展:
pecl install memcached
# 现在,应该要指定特定版本才能安装成功,因为默认安装最新稳定版的扩展,而最新稳定版扩展现在是适用于PHP 7的
# 安装过程中,会询问libmemcached的安装目录(含有include/libmemcached/memcached.h的目录),我这里是/usr目录。
  4、最后,在php.ini配置文件中加上下面的语句,并重启PHP程序即大功告成:
extension=memcached.so
给PHP 7安装memcached扩展
  但是,当使用PHP 7时,问题就来了。当我使用pecl命令安装memcached扩展时就报下面的错:

  意思是说libmemcached不支持sasl,所以failed了,可以使用--disable-memcached-sasl选项来禁用这个检查。pecl自动安装改不了编译选项,那我就把memcached扩展包下载下来,手工编译吧。结果,一进行编译就报一大堆错误,大概应该就是程序语法不兼容吧。下面是示例截图:

  但这就有点费解了,这是什么原因啊。其实,如果把memcached扩展包下载下来,看里面的说明,就会发现,memcached 3.x版本扩展需要libmemcached 1.x及以上版本,而当前默认安装的就是memcached扩展3.0.3版本。

  而我使用yum命令安装的libmemcached才0.31版本:

  所以,结论是,libmemcached版本太低。所以还是乖乖先编译一个高版本的libmemcached,再安装memcached扩展吧。
  下面是给PHP 7安装memcached扩展的完整步骤。
  1、先到libmemcached的官网http://libmemcached.org/libMemcached.html下载libmemcached安装包,1.x版本,建议是1.0.18或以上。我这里直接使用命令下载了:
wget https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz
  解压:
tar -xvf libmemcached-1.0.18.tar.gz
  编译安装到/usr/local/libmemcached目录:
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached
make
make install
  2、直接使用pecl命令安装适用于PHP 7的memcached扩展,我使用的是最新的memcached 扩展3.0.3稳定版:
pecl install memcached-3.0.3
# 在提示libmemcached directory [no]时,输入libmemcached的安装目录/usr/local/libmemcached
  看,这次就成功编译并安装了:

  3、最后,就在php.ini配置文件中加上下面的语句,并重启PHP程序就行了:
extension=memcached.so




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650153-1-1.html 上篇帖子: php计算两个时间差 下篇帖子: PHP程序员必须收藏的资源大全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表