zoukankan      html  css  js  c++  java
  • 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 ,或指定错误。
    解决方法
    删除整个文件,重新解压编译安装。注意,如果在已编译的文件上继续编译,安装后会不生效,所以最好是删除文件,重新解压编译。

  • 相关阅读:
    Ubuntu12.04安装svn1.8
    [NOIP模拟测试3] 建造游乐园 题解(欧拉图性质)
    图论模板
    [bzoj3073] Journeys 题解(线段树优化建图)
    [bzoj3033]太鼓达人 题解(搜索)
    [NOIP2016]天天爱跑步 题解(树上差分) (码长短跑的快)
    [HNOI2015]菜肴制作 题解(贪心+拓扑)
    [SDOI2015]排序 题解 (搜索)
    [CQOI2011]放棋子 题解(dp+组合数学)
    [ZJOI2011]看电影(组合数学/打表+高精)
  • 原文地址:https://www.cnblogs.com/guoew/p/10391041.html
Copyright © 2011-2022 走看看