phpinfo查看可以解析的后缀_php -m 与phpinfo显示的扩展不一致的问题

本文介绍在使用ThinkPHP5框架的队列扩展时遇到的redis扩展未正确加载问题及解决方案。通过调整环境变量和php.ini配置文件,确保命令行和Web服务器使用相同的php.ini配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在学习thinkphp5的队列扩展,教程地址:https://github.com/coolseven/notes/blob/master/thinkphp-queue/README.md

在使用thinkphp5的队列扩展时,需要安装redis,本地已经安装好了redis扩展,通过phpinfo也可以看到redis,同时,在thinkphp控制器代码中也可以使用$redis = new  \Redis()获取redis实例。但在命令行下输入命令:

php think queue:work --queue helloJob

老是提示:

redis扩展未安装

查看thinkphp源码,发现是\vendor\topthink\think-queue\src\queue\connector\Redis.php中的第37行

extension_loaded('redis')

提示redis无法加载。

同时在命令行下执行php-m时,看不到redis扩展。

对于这种情况首先考虑本机上是否安装了多个版本的php,以致于在命令行下的php是读取的其他版本的php命令。

所以说,首先考虑的是环境变量的问题。

如果环境变量没问题,可以查看php读取的php.ini配置文件是否跟apache读取的php.ini文件一致。

通过在命令行下执行命令:php –ini

可以查看读取的php.ini配置文件的路径

比对phpinfo里面的ini路径:

发现apache读取的php.ini配置文件和php命令下读取的php.ini配置文件不是同一个。

于是打开php读取的php.ini配置文件,加入php_redis扩展,重启,即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值