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 扩展的步骤还缺少哪些?我进行排查一下

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

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

4年前 评论
讨论数量: 1

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

4年前 评论