homestead 配置phpredis扩展,检查步骤有哪些?

系统版本

Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-64-generic x86_64)

php7.3版本的redis扩展已经安装完成了,7.4的安装不成功,请问我以下检查redis扩展的步骤还缺少哪些?我进行排查一下

  1. 查看php扩展目录,命令:php7.4 -i|grep extension_dir,指向的是/usr/lib/php/20190529

    root@homestead:/usr/lib/php/20180731# php7.4 -i|grep extension_dir
    extension_dir => /usr/lib/php/20190529 => /usr/lib/php/20190529
  2. 去到php扩展目录/usr/lib/php/20190529,可以看到是有redis.so的。

    root@homestead:/usr/lib/php/20190529# ls
    bcmath.so    exif.so      iconv.so     mysqli.so     pdo_pgsql.so   pspell.so     sockets.so    xmlreader.so
    build        ffi.so       imap.so      mysqlnd.so    pdo.so         readline.so   sqlite3.so    xml.so
    calendar.so  fileinfo.so  intl.so      odbc.so       pdo_sqlite.so  redis.so      sysvmsg.so    xmlwriter.so
    ctype.so     ftp.so       json.so      opcache.so    pgsql.so       shmop.so      sysvsem.so    xsl.so
    curl.so      gd.so        ldap.so      pdo_mysql.so  phar.so        simplexml.so  sysvshm.so    zip.so
    dom.so       gettext.so   mbstring.so  pdo_odbc.so   posix.so       soap.so       tokenizer.so
  3. 使用phpinfo()方法,查看详情。主要查看Additional .ini files parsed一栏,有/etc/php/7.4/fpm/conf.d/20-redis.ini,可以直接看下面截图不看这个代码块,我标出来了

    /etc/php/7.4/fpm/conf.d/10-mysqlnd.ini, /etc/php/7.4/fpm/conf.d/10-opcache.ini, /etc/php/7.4/fpm/conf.d/10-pdo.ini, /etc/php/7.4/fpm/conf.d/15-xml.ini, /etc/php/7.4/fpm/conf.d/20-bcmath.ini, /etc/php/7.4/fpm/conf.d/20-calendar.ini, /etc/php/7.4/fpm/conf.d/20-ctype.ini, /etc/php/7.4/fpm/conf.d/20-curl.ini, /etc/php/7.4/fpm/conf.d/20-dom.ini, /etc/php/7.4/fpm/conf.d/20-exif.ini, /etc/php/7.4/fpm/conf.d/20-ffi.ini, /etc/php/7.4/fpm/conf.d/20-fileinfo.ini, /etc/php/7.4/fpm/conf.d/20-ftp.ini, /etc/php/7.4/fpm/conf.d/20-gd.ini, /etc/php/7.4/fpm/conf.d/20-gettext.ini, /etc/php/7.4/fpm/conf.d/20-iconv.ini, /etc/php/7.4/fpm/conf.d/20-imap.ini, /etc/php/7.4/fpm/conf.d/20-intl.ini, /etc/php/7.4/fpm/conf.d/20-json.ini, /etc/php/7.4/fpm/conf.d/20-ldap.ini, /etc/php/7.4/fpm/conf.d/20-mbstring.ini, /etc/php/7.4/fpm/conf.d/20-mysqli.ini, /etc/php/7.4/fpm/conf.d/20-odbc.ini, /etc/php/7.4/fpm/conf.d/20-pdo_mysql.ini, /etc/php/7.4/fpm/conf.d/20-pdo_odbc.ini, /etc/php/7.4/fpm/conf.d/20-pdo_pgsql.ini, /etc/php/7.4/fpm/conf.d/20-pdo_sqlite.ini, /etc/php/7.4/fpm/conf.d/20-pgsql.ini, /etc/php/7.4/fpm/conf.d/20-phar.ini, /etc/php/7.4/fpm/conf.d/20-posix.ini, /etc/php/7.4/fpm/conf.d/20-pspell.ini, /etc/php/7.4/fpm/conf.d/20-readline.ini, /etc/php/7.4/fpm/conf.d/20-redis.ini, /etc/php/7.4/fpm/conf.d/20-shmop.ini, /etc/php/7.4/fpm/conf.d/20-simplexml.ini, /etc/php/7.4/fpm/conf.d/20-soap.ini, /etc/php/7.4/fpm/conf.d/20-sockets.ini, /etc/php/7.4/fpm/conf.d/20-sqlite3.ini, /etc/php/7.4/fpm/conf.d/20-sysvmsg.ini, /etc/php/7.4/fpm/conf.d/20-sysvsem.ini, /etc/php/7.4/fpm/conf.d/20-sysvshm.ini, /etc/php/7.4/fpm/conf.d/20-tokenizer.ini, /etc/php/7.4/fpm/conf.d/20-xmlreader.ini, /etc/php/7.4/fpm/conf.d/20-xmlwriter.ini, /etc/php/7.4/fpm/conf.d/20-xsl.ini, /etc/php/7.4/fpm/conf.d/20-zip.ini

    homestead 配置redis扩展

  4. 然后查看/etc/php/7.4/fpm/conf.d/20-redis.ini文件详情,可以看到,只有extension=redis.so这一行,根据2.查看php扩展目录的情况,是有redis.so的,所以是没问题

    root@homestead:/usr/lib/php/20190529# cat /etc/php/7.4/fpm/conf.d/20-redis.ini
    extension=redis.so

我也重启 php-fpm 了,homestead都halt关闭了然后重新启动了一次,7.4版本还是没有安装上redis扩展,7.3版本就有

请问检查redis扩展的步骤还缺少哪些?我进行排查一下

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

已解决,删除了了原本7.4版本的phpredis,然后重新解压编译了一份,安装上了。 不过我本来就是每个版本都是单独解压然后重新编译的相关php版本的redis扩展,可能 7.4 版本弄重复了吧,用其他php版本编译了

4年前 评论
讨论数量: 1

已解决,删除了了原本7.4版本的phpredis,然后重新解压编译了一份,安装上了。 不过我本来就是每个版本都是单独解压然后重新编译的相关php版本的redis扩展,可能 7.4 版本弄重复了吧,用其他php版本编译了

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!