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 相关文章推荐
Gregarius中文日期格式问题解决办法
Apr 22 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
PHP中ob_start函数的使用说明
Nov 11 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
Symfony生成二维码的方法
Feb 04 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
php快速导入大量数据的实例方法
Sep 23 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
May 14 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
Nov 10 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
由浅到深了解JavaScript类
2006/09/08 Javascript
js jquery做的图片连续滚动代码
2008/01/06 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
2019/03/05 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
学校运动会开幕演讲稿
2014/01/04 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
博士给导师的自荐信
2015/03/06 职场文书
我的1919观后感
2015/06/03 职场文书
我的生日感言
2015/08/03 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
Python 中random 库的详细使用
2021/06/03 Python