• LNMP(Linux+Nginx+MySQL+PHP) yum方式安装Redis


    一、环境信息

    • CentOS Linux release 8.1.1911 (Core)
    • Redis server v=5.0.3

    二、yum方式安装

    1、添加EPEL仓库

      sudo yum install epel-release
    

    2、更新

      sudo dnf update
    

    3、使用 CentOS 8 默认的仓库进行安装

      sudo dnf install redis
    

    4、启动

      systemctl start redis
    

    5、设置开机自启

      systemctl enable redis
    

    6、设置防火墙等操作。。。

    7、本机测试

      redis-cli
    

    8、成功连接之后,输入

      ping
    

    如果输出

      PONG
    

    则说明Redis可以正常使用

    三、PHP安装Redis扩展

    1、确保PHP安装了php-devel扩展。安装php-devel扩展命令

       yum install php-devel
    

    2、下载PHP的Redis扩展(wget下载文件时,默认下载到当前目录,所以先确定自己需要安装在哪个文件下)

       wget https://github.com/phpredis/phpredis/archive/develop.zip
    

    3、下载完成后,解压文件

       unzip develop.zip
    

    4、解压后会出现一个 phpredis-develop 的文件夹,进入这个文件夹,执行

       phpize
    

    5、执行成功之后,在当前文件夹下就会出现 configure,再执行配置(--with-php-config=/usr/bin/php-config 指定安装 PHP 的时候的配置)

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

    6、使用root用户进行安装

       sudo make install
    

    如果出现 Installing shared extensions: /usr/lib64/php/modules/ ,说明安装成功。

    7、使用命令进入php配置文件

       sudo vim /etc/php.ini
    

    8、在配置文件末尾添加一行代码(extension=redis.so),保存退出。

    9、若make test 出错,或者重启php-fpm失败, 出现

      PHP Warning:  PHP Startup: Unable to load dynamic library 'redis.so' (tried: /usr/lib64/php/modules/redis.so (/usr/lib64/php/modules/redis.so: undefined symbol: 
      php_json_decode_ex), /usr/lib64/php/modules/redis.so.so (/usr/lib64/php/modules/redis.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
    

    原因是安装的Redis扩展和json扩展加载顺序冲突导致报错。

    将php.ini里加入的extension=redis.so删除,

    进入/etc/php.d文件夹,创建redis.ini,

    在redis.ini中加入:

       ;redis
       extension=redis.so
    

    10、重启php-fpm

       sudo systemctl restart php-fpm 
    

    11、如果启动成功,用 php -m 命令就可以查看到Redis的扩展。

    本文参考的主要文章:

    centos下安装php-redis扩展
    linux php-redis扩展安装错误 php_json_decode_ex

  • 相关阅读:
    t
    0409笔记
    vue typescript ui库
    0329
    express+sequelize 做后台
    android申请多个权限的正确姿势
    [BBS] Reply.jsp 03
    [BBS] ShowArticleDetail.jsp 02
    [BBS] ShowArticleTree.jsp 01 帖子的树形展现-递归 、Session 存 login 否
    [Jweb] MyEclipse 的常见操作
  • 原文地址:https://www.cnblogs.com/ccdv/p/13164355.html
Copyright © 2020-2023  润新知