解决PHP7安装Memcache扩展问题

在最近一段时间,公司的架构从php5.6.22升级到了php7.1.12,但是在期间又开发了一套新的框架,但是这个框架需要使用memcache的扩展,当时找到我叫我帮忙安装一下,我心想不就是一条pecl命令安装就可以吗?这么简单就马上答应了。然后安装时就遇到报错了(主要报错如下):

fatal error: ext/standard/php_smart_str.h: No such file or directory
 #include "ext/standard/php_smart_str.h"
                                                                                ^
compilation terminated.
make: *** [memcache.lo] Error 1
ERROR: `make' failed

然后就去翻查了一下资料,pecl好像不支持安装memcache扩展。这样只能找其他办法解决了,在期间也踩了很多坑,后来找到了一个github上的可支持php7的memcache扩展

接下来就是安装步骤了:

  • 拉去memcache扩展

cd /usr/local/src/
git clone https://github.com/websupport-sk/pecl-memcache

  • 编译安装memcache扩展

cd pecl-memcache/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

Installing shared extensions:    /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/

  • 上面已经安装完成memcache扩展,接下来把它加入php.ini中

vim  /etc/php.ini

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/"
extension = "memcache.so"

  • 重启php-fpm使配置生效

/etc/init.d/php-fpm reload

相关推荐