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 相关文章推荐
杏林同学录(五)
Oct 09 PHP
PHP常用代码
Nov 23 PHP
通过PHP CLI实现简单的数据库实时监控调度
Jul 01 PHP
PHP 关于访问控制的和运算符优先级介绍
Jul 08 PHP
php实现设计模式中的单例模式详解
Oct 11 PHP
PHP实现的简单日历类
Nov 29 PHP
PHP中is_file()函数使用指南
May 08 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 PHP
thinkphp5实现无限级分类
Feb 18 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
浅谈PHP7中的一些小技巧
May 29 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
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
解决PyCharm中光标变粗的问题
2017/08/05 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
对python3新增的byte类型详解
2018/12/04 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
Python实现Linux监控的方法
2019/05/16 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
Pycharm修改python路径过程图解
2020/05/22 Python
python3跳出一个循环的实例操作
2020/08/18 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
Hawes & Curtis澳大利亚官网:英国经典服饰品牌
2018/10/29 全球购物
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
印尼网上商店:Alfacart.com
2019/03/11 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
《草原》教学反思
2014/02/15 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
员工离职通知函
2015/04/25 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
python中pandas对多列进行分组统计的实现
2021/06/18 Python
python基础之//、/与%的区别详解
2022/06/10 Python