php7编译安装phpredis扩展报一下错误的解决办法

[root@************ phpredis-2.2.8]# make
/bin/sh /usr/local/src/phpredis-2.2.8/libtool --mode=compile cc  -I. -I/usr/local/src/phpredis-2.2.8 -DPHP_ATOM_INC -I/usr/local/src/phpredis-2.2.8/include -I/usr/local/src/phpredis-2.2.8/main -I/usr/local/src/phpredis-2.2.8 -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /usr/local/src/phpredis-2.2.8/redis.c -o redis.lo 
mkdir .libs
 cc -I. -I/usr/local/src/phpredis-2.2.8 -DPHP_ATOM_INC -I/usr/local/src/phpredis-2.2.8/include -I/usr/local/src/phpredis-2.2.8/main -I/usr/local/src/phpredis-2.2.8 -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/local/src/phpredis-2.2.8/redis.c  -fPIC -DPIC -o .libs/redis.o
In file included from /usr/local/src/phpredis-2.2.8/redis.c:27:0:
/usr/local/src/phpredis-2.2.8/common.h:3:40: 致命错误:ext/standard/php_smart_str.h:没有那个文件或目录
 #include <ext/standard/php_smart_str.h>
                                        ^
编译中断。
make: *** [redis.lo] 错误 1

解决办法,因为最新的 phpredis 分了几大分支,针对最新的PHP稳定发行版 php7 有专门为php7的分支,所以我们从github拉下phpredis 源码

 

git clone https://github/phpredis/phpredis

/usr/local/php7/bin/phpize #找不到phpize的路径可用whereis命令查看:whereis phpize 得到路径 或者 find / -name phpize 得到路径

./configure --with-php-config=/usr/local/php/bin/php-config #此处为php-config的路径,可用whereis php-config查看路径 或者 find / -name phpize 得到路径

make && make install

---- success !

然后看到了扩展目录的显示,就说明安装成功了

转载: (极安全) www.jisec

更多推荐

Centos7 下安装PHP7 phpredis扩展报错解决办法 致命错误:ext/standard/php_smart_str.h