ubuntu 下php 无法扩展redis

查看:151
本文介绍了ubuntu 下php 无法扩展redis的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我在ubuntu上用php 5.6.28 的源代码编译了一个版本,但是对接redis失败。
总是提示 Fatal error: Class 'Redis' not found in /alidata/www/web/function.php on line 206
我编译时configure命令是这样的

 ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--with-mysql=mysqlnd \
--with-mysql-sock=/tmp/mysql.sock \
--with-mysqli=mysqlnd \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-ftp \
--enable-mbstring \
--enable-exif \
--disable-ipv6 \
--with-pear \
--with-curl \
--with-openssl

代理服务器用nginx 到 php-fpm,我用 apt-get 安装过了 php5-redis,php.ini 的extension也改了,还是不行。

extension_dir=/usr/local/php/lib/php/extensions
extension=redis.so

phpinfo是这样的

使用 php-fpm -i 查询,发现php.ini没有加载成功,失败原因匪夷所思,明明我在这个目录下是有php.ini的啊!

Configuration File (php.ini) Path => /usr/local/php/etc
Loaded Configuration File => (none)
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)

解决方案

看你的更新感觉extension地址不对。
比如我的默认的扩展地址是(这个不需要你改):/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212
查一下你的扩展地址。
这地址下是应该要有 redis.so文件的。
修改php.ini,最后重启php-fpm 即可

php-fpm -m 才是现实 cgi模式下的扩展安装情况

php -m 是cli模式下的,注意区分,有些安装环境 二者的 php.ini文件路径不一致,要注意。

从phpinfo 信息来看,你的php.ini 路径是 /usr/local/php/etc/php.ini

按通用的安装扩展方法安装后,修改php.ini,最后重启php-fpm 即可。

这篇关于ubuntu 下php 无法扩展redis的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆