php安装redis拓展

1. 查看是否安装redis库

查看是否安装redis库了。可以通过下面2种方式查看。

 phpinfo()是否能输出redis的加载信息
 在命令行执行`php -m` 输出gd

2. 安装redis库

2.1 安装redis库(源码安装)

下载phpredis3.1.2

wget https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz

解压后在phpredis3.1.2目录下执行

tar -zxvf  3.1.2.tar.gz && cd phpredis-3.1.2/
phpize extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/redis.so  #路径根据实际         

注:如果没有phpize,需要安装php-dev,可以执行apt-get install php-dev

./configure  --with-php-config=/usr/local/php-5.6.30/bin/php-config  #php-config为已安装php的脚本文件。用于获取所安装的php配置的信息
make  && make install               

一般情况下安装完成后会在/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/目录下生成redis.so
配置php.ini,添加一行

extension = redis.so

2.2 重启php

ps -ef | grep php-fpm | awk ‘{print $2}’| xargs kill ; /usr/local/php/sbin/php-fpm

2.3 重启nginx

/usr/local/nginx/sbin/nginx -s restart

3. 问题小结

3.1 重启php报错

NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php-5.6.30/lib/php/extensions/no-debug-non-zts-20131226/redis.so‘ - /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/redis.so: undefined symbol: zend_new_interned_string in Unknown on line 0
产生问题
1) 在编译安装redis库时没有指定–with-php-config= /usr/local/php-5.6.30/bin/php-config ,或指定错误。
解决方法
删除整个文件,重新解压编译安装。注意,如果在已编译的文件上继续编译,安装后会不生效,所以最好是删除文件,重新解压编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值