PHP Redis扩展无法加载的问题解决方法


Posted in PHP onAugust 22, 2019

最近在工作中需要使用PHP访问Redis,从https://github.com/phpredis/phpredis下载了phpredis,并且按照官方的说明进行了安装

phpize
./configure [--enable-redis-igbinary]
make && make install

但是在重启php-fpm的过程中,发生了如下的错误,redis.so无法载入

[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)
[29-Jun-2015 11:14:43] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: zend_new_interned_string in Unknown on line 0
<br />
<b>Warning</b>: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: zend_new_interned_string in <b>Unknown</b> on line <b>0</b><br />
<br />

试了网上一些解决方案,均无法解决问题。

实在没别的办法,于是打算重装php-fpm试试,遂去http://php-fpm.org/download/想下载个新版本的php-fpm,结果发现版本大于5.3.3的PHP内部已经集成了php-fpm,不用再另行安装了。

PHP Redis扩展无法加载的问题解决方法

于是用php --version查询了一下PHP的版本,已经是5.6.6了,

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

突然恍然大悟,自己一直用的是安装在另一个目录的php-fpm,和PHP并不是配套的

查看这个php-fpm的版本,发现是5.3.3

$/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

而PHP内部集成的php-fpm版本是5.6.6

$ /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内部集成的php-fpm重启,成功!

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,如:

extension_dir = "/usr/lib64/php/modules/"
extension=redis.so

phpredis编译出来的redis.so也需要拷贝到"/usr/lib64/php/modules/"中

"/etc/php.d/"中也要软连接redis.so,并且要创建一个redis.ini文件,内容如下:

$ cat /etc/php.d/redis.ini 
; Enable redis extension module
extension=redis.so

安装phpredis还可以通过命令

pecl install redis

以上就是本次介绍的全部知识点内容,感谢大家的阅读和对三水点靠木的支持。

PHP 相关文章推荐
一个没有MYSQL数据库支持的简易留言本的编写
Oct 09 PHP
php购物网站支付paypal使用方法
Nov 28 PHP
php定界符
Jun 19 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
header与缓冲区之间的深层次分析
Jul 30 PHP
php实现的mysqldb读写分离操作类示例
Feb 07 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
PHP实现将标点符号正则替换为空格的方法
Aug 09 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
php和js实现根据子网掩码和ip计算子网功能示例
Nov 09 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
PHP Primary script unknown 解决方法总结
Aug 22 #PHP
php用wangeditor3实现图片上传功能
Aug 22 #PHP
PHP生成zip压缩包的常用方法示例
Aug 22 #PHP
Laravel 实现数据软删除功能
Aug 21 #PHP
PHP针对redis常用操作实例详解
Aug 17 #PHP
php5.6.x到php7.0.x特性小结
Aug 17 #PHP
PHP中非常有用却鲜有人知的函数集锦
Aug 17 #PHP
You might like
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
Vue单文件组件开发实现过程详解
2020/07/30 Javascript
小程序实现录音功能
2020/09/22 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python斐波那契数列的计算方法
2018/09/27 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
python画环形图的方法
2020/03/25 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
python -v 报错问题的解决方法
2020/09/15 Python
python关于倒排列的知识点总结
2020/10/13 Python
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
元旦红领巾广播稿
2014/02/19 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
五年级作文之成长
2019/09/16 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android