php7.0编译memcached扩展

场景php

系统自带的memcache.so扩展只适用于系统自带的php5.3,因为生产环境的php7.0是本身编译的,因此各类扩展也要从新编译生成git

php的memcache客户端扩展有两种github

1.memcache扩展服务器

列表地址:http://pecl.php.net/package/memcachephp7

源码包包直接下载地址:http://pecl.php.net/get/memcachememcached

这个最新的版本也是2013年的了,下载编译了一下,报了一个 not found php_smart_str_public.h文件的错误,查看了一下 php安装目录下的 include/php/ext/standard 目录,发现这个头文件在php7.0中已经被更名为php_smart_string_public.h。因而可知这个memcache的客户端版本已太旧,不支持php7.0了.net

 

2.memcached扩展debug

列表地址:http://pecl.php.net/package/memcachedip

源码包直接下载地址:http://pecl.php.net/get/memcachedget

此外还有一个git维护地址 https://github.com/php-memcached-dev/php-memcached   

这个包最新版本是2017年11月份更新的,是支持php7.0的。

 

下载流程

git clone https://github.com/php-memcached-dev/php-memcached

wget http://pecl.php.net/get/memcached

解压后将源码放入 /root 下或者 /home/用户目录下

 

编译流程

进入源码目录

#cd ~/php-memcached

调用phpize(根据实际phpize路径)

#/usr/local/php7.0/bin/phpize

configure目录

#./configure --with-php-config=/usr/local/php7.0/bin/php-config --with-zlib-dir

编译 & 安装

#make && make install

 

tips

由于memcached版本的扩展基于libmemcached,若是服务器上未安装,编译的时候会提示错误

解决方案就是yum安装便可

yum install libmemcached

yum install libmemcached-devel

 

成功

打开 php安装目录/lib/php/extensions/no-debug-zts-*/便可看到memcached.so扩展

而后再php.ini配置文件加载便可

相关文章
相关标签/搜索