php7安装redis扩展

当前使用Centos7.x系统,同样适用于Centos6.x,php当前使用7.1版本,wlnmp一键包已支持该扩展

redis扩展包地址:https://pecl.php.net/package/redis

1、安装所需依赖,如果在编译时还提示缺少其他依赖,请自行安装

 

1

yum install autoconf gcc gcc-c++

2、下载redis最新稳定版

 

1

2

3

4

wget https://pecl.php.net/get/redis-5.0.2.tgz

tar xf redis-5.0.2.tgz

cd redis-5.0.2

/usr/local/php/bin/phpize

根据自己phpize的位置来运行即可(不知道phpize在哪的直接find / -name phpize查找),运行完提示下面信息,然后编译

Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303

3、编译扩展模块

 

1

2

3

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

执行完成后会显示扩展模块编译到的目录/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/

4、修改php.ini添加扩展

 

1

2

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/"

extension=redis.so

注意:如果之前配置过extension_dir路径了,则只需要配置extension=redis.so即可

保存退出,重启php

通过phpinfo可看到,扩展已生效

 

重启php service php-fpm restart
报错:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: php_json_decode_ex in Unknown on line 0

这是因为和json扩展加载顺序冲突导致的

解决方法:

不要在php.ini里加入extension=redis.so这行,可在php.d文件夹下创建新文件redis.ini,在redis.ini里加入extension=redis.so这行.
重启php
php -m 发现redis扩展加载上了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章