zoukankan      html  css  js  c++  java
  • php安装扩展redis淌过的坑

    php安装扩展redis淌过的坑

    cd /usr/local/src/
    wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
    tar zxvf phpredis-2.2.4.tar.gz
    cd  2.2.4.tar.gz
    /usr/local/bin/phpize
     ./configure --with-php-config=/usr/bin/php-config
    make
    make install
    

    安装成功返回所装扩展路径 "/usr/local/lib/php/extensions/no-debug-non-zts-20131226/"

    php.ini修改:

    extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20131226/"
    extension=redis.so
    

    服务重启:

    /usr/local/nginx/sbin/nginx -s reload
    /usr/local/sbin/php-fpm restart
    

    然后我又报了新错:

    NOTICE: PHP message: PHP Warning:  PHP Startup: redis: Unable to initialize module
    Module compiled with module API=20090626
    PHP    compiled with module API=20131226
    

    网上查了番,貌似执行编译源码包执行phpize的版本与当前php环境中phpize的版本不一致造成的,执行了 phpize update,重新安装了一遍。

    此时我web运行打印的phpinfo()信息没有找到redis扩展,但是我在liunx下 ‘php -m’看到确实已经安装了,查阅了很多资料,原来是web与cli的php.ini可能不同。

    补充知识点:

    • cli:是命令行模式时加载的.ini配置

    • fpm:是通过fastcig server和web server交互时加载的.ini配置
      -问题二:

    • cli: php -r "phpinfo();"

    • fpm: 访问phpinfo()的脚本

    $ find / -name php.ini
    /etc/php.ini
    /usr/local/lib/php.ini
    

    看到两条记录,为了保持一致,将cli的配置覆盖web的配置:

    cp /usr/local/lib/php.ini /etc/php.ini
    
  • 相关阅读:
    Json模块的详细介绍(序列化)
    Selenium 报错:Element is not clickable at point
    对于页面弹出框的处理
    RF操作滚动条(竖拉)
    xpath定位中starts-with、contains和text()的用法
    Python 之ConfigParser模块
    解读Loadrunner网页细分图(Web Page Diagnostics)
    ant 入门级详解
    Postman接口测试_添加断言
    算法:顺时针打印数组
  • 原文地址:https://www.cnblogs.com/followyou/p/7565104.html
Copyright © 2011-2022 走看看