记一次 Redis not fond 处理方法
运行环境
1). 当前使用的 Laravel 版本
Laravel Framework 8.83.1
2). 当前使用的 php/php-fpm 版本
root@iZbp1ib5cqwf8akmach7vcZ:/www/wwwroot/api.niuwen.com# php -v
PHP 8.0.11 (cli) (built: Sep 25 2021 08:26:51) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.11, Copyright (c) Zend Technologies
3). 当前系统
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-100-generic x86_64)
2. 问题描述
项目中使用 phpRedis 作为 驱动, 正常调用时,存储数据、用作缓存服务等场景时没有问题; 但是, 使用Laravel队列、任务调度等场景时提示 ‘Redis’ not fond 
2. 猜测问题原因
- 出现 ‘Redis’ not fond 错误,应该是因为没有找到
Redis扩展导致的,或者已安装,但是并没有加载成功 - 正常调用
Redis时,走的时php-cgi运行模式,使用php artisan时走的是php-cli运行模式
3. 解决思路
- 通过
phpinfo()查看是否已安装redis扩展(确定已安装) - 通过命令
PHP -m查看是否加载了redis模块(发现未加载) - 通过命令
php -ini查看配置文件中的Loaded Configuration File(加载了php-cli.ini)Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /www/server/php/80/etc Loaded Configuration File => /www/server/php/80/etc/php-cli.ini Scan this dir for additional .ini files => (none) Additional .ini files parsed => (none) - 通过phpinfo()查看配置文件 对比
Loaded Configuration File(加载了php.ini)
4.解决
打开
php-cli.ini文件添加Redis扩展[redis] extension = /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/redis.so运行
php -m命令(发现已加载Redis扩展)
问题解决
关于 LearnKu
推荐文章: