PHP中Redis扩展无法加载问题
Posted .Ronin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中Redis扩展无法加载问题相关的知识,希望对你有一定的参考价值。
问题:
在重启php-fpm的过程中,发生了如下的错误,redis.so无法载入
1
2
3
4
|
[root@brand009 modules]# /usr/sbin/php-fpm
/usr/sbin/php-fpm: /usr/lib64/libssl.so.10: no version information available (required by /usr/sbin/php-fpm)
/usr/sbin/php-fpm: /usr/lib64/libcrypto.so.10: no version information available (required by /usr/sbin/php-fpm)
/usr/sbin/php-fpm: /usr/lib64/libcrypto.so.10: no version information available (required by /usr/sbin/php-fpm)
|
解决思路:
1、用php --version查询了一下PHP的版本,是5.6.6
1
2
3
4
|
php --version
PHP 5.6.6 (cli) (built: Mar 9 2015 13:27:38)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
|
2、这个php-fpm的版本,发现是5.3.3
1
2
3
4
|
$/usr/sbin/php-fpm -v
PHP 5.3.3 (fpm-fcgi) (built: Oct 30 2014 20:14:56)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
|
3、而PHP内部集成的php-fpm版本是5.6.6
1
2
3
4
|
$ /usr/local/php/sbin/php-fpm -v
PHP 5.6.6 (fpm-fcgi) (built: Mar 9 2015 13:27:55)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
|
错误原因:
php -fpm版本与php版本不一致。
用PHP内部集成的php-fpm重启,成功!
1
2
3
4
|
root 18442 1 0 17:36 ? 00:00:01 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody 30640 18442 0 18:04 ? 00:00:02 php-fpm: pool www
nobody 31156 18442 0 18:05 ? 00:00:02 php-fpm: pool www
nobody 32424 18442 0 18:08 ? 00:00:02 php-fpm: pool www
|
注意:
在php.ini中一定要配置extension_dir和extension,如:
1
2
|
extension_dir = "/usr/lib64/php/modules/"
extension=redis.so
|
phpredis编译出来的redis.so也需要拷贝到"/usr/lib64/php/modules/"中;
"/etc/php.d/"中也要软连接redis.so,并且要创建一个redis.ini文件,内容如下:
安装phpredis还可以通过命令:
以上是关于PHP中Redis扩展无法加载问题的主要内容,如果未能解决你的问题,请参考以下文章
关于php5.6nts+nginx 下 redis安装和php扩展
宝塔安装php redis 扩展故障
PHP 无法加载 php_curl.dll 扩展
“PHP中扩展库”是啥意思?如何加载?
CentOS 7 PHP-redis扩展安装,浏览器不显示数据及redis无法储存数据常见问题解决办法
安装redis扩展安装及可能遇到的问题