• 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

  • 相关阅读:
    jquery实现选项卡(两句即可实现)
    常用特效积累
    jquery学习笔记
    idong常用js总结
    织梦添加幻灯片的方法
    LeetCode "Copy List with Random Pointer"
    LeetCode "Remove Nth Node From End of List"
    LeetCode "Sqrt(x)"
    LeetCode "Construct Binary Tree from Inorder and Postorder Traversal"
    LeetCode "Construct Binary Tree from Preorder and Inorder Traversal"
  • 原文地址:https://www.cnblogs.com/ccdv/p/13164355.html
Copyright © 2020-2023  润新知