NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'redis.so'

最近在学习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文件

 

 

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

 

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

;Enable redis extension module
extension=redis.so
然后执行

cat /etc/php.d/redis.ini
8.重启nginx,再看phpinfo,已经有redis扩展了
————————————————
版权声明:本文为CSDN博主「暂未成功人士-」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Mr_cq_/article/details/99704488

posted @ 2021-11-04 18:25  冷空气的清晰  阅读(2634)  评论(0编辑  收藏  举报