在最近一段时间,公司的架构从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