zoukankan      html  css  js  c++  java
  • linux下安装redis扩展

    一、安装PHP的redis扩展

    1、下载地址:http://pecl.php.net/package/redis 下载 redis-4.2.0.tgz

    可通过sftp上传工具上传到服务器的安装目录 我一般放在 /usr/local 目录下

    2、安装

    tar  -zxvf  redis-4.2.0.tgz

    cd  redis-4.2.0

    /usr/local/php/bin/phpize

    ./configure --with-php-config=/usr/local/php/bin/php-config 

    make

    执行完make 可执行下make test 看下有无报错,再依据报错进行解决

    make  install

     注意:红色框框内就是编译完的redis.so文件所在的目录,php扩展一般放在 /usr/local/php/lib/php/extensions,需要把redis.so复制放在php扩展目录下,

    查找php扩展文件 find /-name extensions

    查找redis.so文件位置输入 find / -name redis.so 

    3、配置

    注意:find / -name php.ini 查找文件

    php.ini 文件放在/etc/php.ini 、/usr/local/php/etc/php.ini 两个位置,

    如果ini文件位置不对,可以通过运行 php --ini 找到实际加载的ini文件路径,在选择需要修改的php.ini文件

    编辑php.ini配置文件,加上如下配置,extension_dir就是第五步的那个存放扩展的路径

    extension = redis.so

     修改完php.ini需要重启php-fpm,具体错误参照末尾可能会遇到的错误!

     重启nginx,再看phpinfo,已经有redis扩展了

    查看php扩展:php -m

     

    可能会遇到的错误:

    1、重启php-fpm    ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)

         原因为9000端口被占用

         解决措施:killall php-fpm   再执行 php-fpm

    2、linux下安装PHP redis扩展,php -m 查看提示undefined symbol: php_session_validate_sid in Unknown on line 0

        解决措施:ln -s /usr/local/php/bin/php /usr/bin/php

        如果提示/usr/bin/php是存在的,那就删掉php文件,再执行上面那个命令就好

     3、还可能遇到某个函数被禁用,这时候查看php.ini文件 搜索disable_functions,将禁用函数移除即可!

  • 相关阅读:
    Gradle构建模块化项目
    线程池的理解与应用
    Redis理解
    kafka监听出现的问题,解决和剖析
    shiro利用过期时间,解决用户冻结踢出问题
    信息系统的运行与维护包含的主要内容
    软件维护的内容是什么
    执行顺序
    Chrome/Edge 91版本SameSite by default cookies被移除后的解决方案
    公从号编程
  • 原文地址:https://www.cnblogs.com/jn1011/p/11934134.html
Copyright © 2011-2022 走看看