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 相关文章推荐
在JavaScript中调用php程序
Mar 09 PHP
php 常用类汇总 推荐收藏
May 13 PHP
php下删除一篇文章生成的多个静态页面
Aug 08 PHP
php入门学习知识点一 PHP与MYSql连接与查询
Jul 14 PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 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模拟SQL Server的两个日期处理函数
2006/10/09 PHP
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
JS与框架页的操作代码
2010/01/17 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
浅谈Python反射 &amp; 单例模式
2019/03/21 Python
Django web框架使用url path name详解
2019/04/29 Python
python打开使用的方法
2019/09/30 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
.NET remoting的两种通道是什么
2016/05/31 面试题
长青弘远的面试题
2012/06/09 面试题
初中同学会活动方案
2014/08/22 职场文书
2014年党委工作总结
2014/11/22 职场文书
公务员个人总结
2015/02/12 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL