php7安装redis扩展报错NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'redis

参考:http://www.mamicode.com/info-detail-889801.html

最近在学习redis,想在自己服务器上装个redis,按照百度上的方法装完之后报错

NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library 'redis.so' (tried: /usr/lib64/php/modules/redis.so (/usr/lib64/php/modules/redis.so: undefined symbol: php_json_decode_ex), /usr/lib64/php/modules/redis.so.so (/usr/lib64/php/modules/redis.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
,大致意思就是无法加载redis.so这个文件,phpinfo里也看不到redis扩展,我排查了半天路径,重复安装了好几次,还是没用,最后终于找到了解决的方法,虽然还是报这个错误,但是redis扩展是可以用的

这里总结一下我的完整安装方法

1.下载phpredis压缩包并解压

2.进入解压后的文件夹内(我的文件夹名称是redis-5.0.2,即cd redis-5.0.2)

3.找到phpize及php-config的位置(我的php是安装到默认位置/usr/bin/phpize      /usr/bin/php-config,如果找不到可以用下面的命令找)

//第一种方式
whereis phpize
whereis php-config
//第二种方式
find / -name "phpize"
find / -name "php-config"

4.在解压后的redis扩展文件夹内依次执行下面两条指令

//1.输入phpize路径

/usr/bin/phpize    
          

//2.设置php配置文件路径,我的php-config路径为/usr/bin/php-config

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





5.编译并安装phpredis扩展

make && make install

   执行完后看返回的路径下有没有redis.so文件

php7安装redis扩展报错NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'redis_第1张图片

6.编辑php.ini配置文件,加上如下配置,extension_dir就是第五步的那个存放扩展的路径

php7安装redis扩展报错NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'redis_第2张图片

7.进入"/etc/php.d/"文件夹中,创建一个redis.ini文件,内容如下:

;Enable redis extension module
extension=redis.so

   然后执行

cat /etc/php.d/redis.ini

8.重启nginx,再看phpinfo,已经有redis扩展了

你可能感兴趣的:(php)