今天在安装memcahe扩展,使用pecl进行安装时,出现了如下的错误
/var/tmp/memcache/memcache.c:40:40: fatal error: ext/standard/php_smart_str.
,通过一番的探查与研究发现,php7以上的版本将php_smart_str.h更改为 php_smart_string.h,也许你会说,那拷贝一份不就完事解决了,但是很遗憾的告诉你,还是不行。因此我换成了另外一种的安装方式,采用phpize的方法。具体操作,请看下面的操作。
在github,下载源码,然后使用phpize进行安装
cd /usr/local/src
git clone https://github.com/websupport-sk/pecl-memcache memcache
cd memcache
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
安装完成之后,我们可以在/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/中看到我们安装的redis.so扩张,然后我们在配置文件/usr/local/php/lib/php.ini中进行添加如下
extension=memcache.so
重启php-fpm
killall php-fpm
/usr/local/php/sbin/php-fpm
运行php -m
可以进行查看是否安装成功,如下,即安装成功