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数据库需要注意的安全知识
Jul 30 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
PHP执行批量mysql语句的解决方法
May 02 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
php格式化金额函数分享
Feb 02 PHP
php防止用户重复提交表单
Nov 02 PHP
php简单截取字符串代码示例
Oct 19 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
thinkPHP5框架接口写法简单示例
Aug 05 PHP
PHP与Web页面交互操作实例分析
Jun 02 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 字符串分割和比较
2009/10/06 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
javascript使用定时函数实现跳转到某个页面
2013/12/25 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
wxPython学习之主框架实例
2014/09/28 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
python利用requests库模拟post请求时json的使用教程
2018/12/07 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
Python多线程获取返回值代码实例
2020/02/17 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
电子商务专业个人的自我评价
2013/11/19 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
秋季运动会开幕词
2015/01/28 职场文书
检讨书怎么写?
2019/06/21 职场文书
分位数回归模型quantile regeression应用详解及示例教程
2021/11/02 Python