PHP Redis扩展无法加载的问题解决方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-11 21:17:01 浏览: 评论:0
在本篇文章里小编给大家整理的是关于解决PHP Redis扩展无法加载的问题的相关内容,有兴趣的朋友们可以学习下。
最近在工作中需要使用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 --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
Tags: Redis PHP扩展无法加载
相关文章
- ·PHP-redis中文帮助文档(2015-12-10)
- ·PHP redis实现超迷你全文检索(2018-08-06)
- ·php redis实现对200w用户的即时推送(2018-08-06)
- ·php实现redis的服务端的示例(2018-09-18)
- ·php语言实现redis的客户端(2018-09-18)
- ·Linux下编译redis和phpredis的方法(2019-10-04)
- ·php-redis常用命令总结(2020-02-15)
- ·【Lavavel】RedisQueue如何执行队列任务?(2020-03-05)
- ·PHP 使用redis简单示例分享(2021-05-15)
- ·PHP+redis实现的购物车单例类示例(2021-11-06)
- ·PHP+redis实现微博的拉模型案例详解(2021-12-04)
- ·redis+php实现微博(一)注册与登录功能详解(2021-12-21)
- ·redis+php实现微博(二)发布与关注功能详解(2021-12-21)
- ·redis+php实现微博(三)微博列表功能详解(2021-12-21)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)