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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

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

4年前 评论
讨论数量: 1

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

4年前 评论