laravel redis 使用遇到问题

昨天使用5.3.版本的laravel框架开发公司新项目,

发现将cache和session设置为了redis,执行了一下首页访问。

如图:

laravel 版本号:

简单配置一下控制器路由:

Route::get(‘home‘, ‘[email protected]‘);Route::get(‘/‘, ‘[email protected]‘);

访问出现错误!!!说找不到一个类:找不到Class ‘Predis\Client‘ not found

查了查源码,发现少了一个vendor/目录下少了一个包predis,执行:composer require predis/predis 安装这个包就好注:版本<5.3可以成功解决问题。>5.3的,失败!

控制台错误信息如下:

Updating dependencies (including require-dev)
Failed to decode response: zlib_decode(): data error
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info
Your requirements could not be resolved to an installable set of packages.

Problem 1
- The requested package laravel/passport (locked at v1.0.0, required as 1.0.8) is satisfiable by laravel/passport[v1.0.0] but these conf
lict with your requirements or minimum-stability.
Problem 2
- Installation request for laravel/passport 1.0.8 -> satisfiable by laravel/passport[v1.0.8].
- laravel/passport v1.0.8 requires symfony/psr-http-message-bridge ^0.3.0 -> satisfiable by symfony/psr-http-message-bridge[v0.3] but th
ese conflict with your requirements or minimum-stability.

Installation failed, reverting ./composer.json to its original content.

中文翻译:【更新的依赖(包括需要开发)
无法解码的回应:zlib_decode():数据错误
重试与降级模式,检查HTTPS:/ / getcomposer。org /文件/物品/故障排除。MD #降级模式的更多信息
你的要求不可能解决,对包的安装设置。
问题1
-请求的包laravel /护照(锁定在V1.0.0,需通过laravel 1.0.8)/护照[ V1.0.0 ]但这些配置可满足
冲突与您的要求或最小稳定。
问题2
安装要求laravel /护照1.0.8 ->满足由laravel /护照[┊]。
- laravel /护照/ PSR symfony┊需要HTTP消息桥^ 0.3.0┊->满足由symfony / PSR HTTP消息桥[ V0.3 ]但
这些冲突与您的要求或最小稳定。
安装失败,回复到原来的内容。/ composer.json。】

解决方法:[]中括号中为可选项

修改 项目Conposer.json文件 + 删除Conposer.lock +[执行composer clearcace] + [执行composer update] +执行:composer require predis/predis

 


时间: 2024-10-12 22:41:53

laravel redis 使用遇到问题的相关文章

laravel redis Error while reading line from the server.

代码运行一段时间后,会报下面的错误. [Predis\Connection\ConnectionException] Error while reading line from the server. [tcp://127.0.0.1:6379] 最初的怀疑是连接数过多,导致连接不上服务器,出现上述错误.查看进程,发现大量redis状态为TIME_WAIT的tcp连接. 首先考虑的是,减少TIME_WAIT的进程,保持随时可以连接到服务器.所以想到的减少TIME_WAIT状态的进程,将进程快速回

laravel redis存数组并设置过期时间

$data = [ 'zoneList'=>$zoneList, 'eqList' => $eqList, 'mdateList' => $mdateList, 'workhoursList' => $workhoursList, 'pricerangeList' => $pricerangeList, ]; Redis::set($cacheKey, serialize($data)); Redis::expire($cacheKey, 300); laravel门面set

laravel redis消息队列

1.首先安装redis扩展包 composer require "predis/predis:~1.0" 2.配置redis参数 .修改队列驱动 .env文件   QUEUE_DRIVER=redis 3.config/database.php配置redis的连接参数 'redis' => [ 'cluster' => false, 'default' => [ 'host'     => env('REDIS_HOST', '127.0.0.1'), 'por

Laravel 开发 API

1. 起因 随着前后端完全分离,PHP 也基本告别了 view 模板嵌套开发,转而专门写资源接口.Laravel 是 PHP 框架中最优雅的框架,国内也越来越多人告别 ThinkPHP 选择了 Laravel.Laravel 框架本身对 API 有支持,但是感觉再工作中还是需要再做一些处理.Lumen 用起来不顺手,有些包不能很好地支持.所以,将 Laravel 框架进行一些配置处理,让其在开发 API 时更得心应手. 当然,你也可以点击这里 , 直接跳到成果- 2. 准备工作 2.1. 环境

手摸手教你让Laravel开发Api更得心应手

https://www.guaosi.com/2019/02/26/laravel-api-initialization-preparation/ 1. 起因 随着前后端完全分离,PHP也基本告别了view模板嵌套开发,转而专门写资源接口.Laravel是PHP框架中最优雅的框架,国内也越来越多人告别ThinkPHP选择了Laravel.Laravel框架本身对API有支持,但是感觉再工作中还是需要再做一些处理.Lumen用起来不顺手,有些包不能很好地支持.所以,将Laravel框架进行一些配置

centos 7.2 Apache+mysql+php step by step备忘

1. 如何允许laravel程序执行sudo shell脚本? chmod u+w /etc/sudoers ; echo "apache ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers 再注释掉Defaults requiretty这行,否则会要求有tty才能运行!(TODO: 写shell实现自动化) chmod u-w /etc/sudoers2. OS: CentOS 7.2 x643. 安装zend server ce: (由于ze

laravel中redis个方法的使用

在laravel中使用redis自带方法的时候会发现许多原生的方法都不存在了,laravel对其进行了重新的封装但是在文档中并没有找到相关的资料最后在 \vendor\predis\predis\src\Profile\RedisProfile.php 该文件的createCommand方法重打印出 $this->commands 发现许多方法名是被重写的,以下为所有重新定义的方法名 array(151) { ["EXISTS"]=> string(24) "Pr

laravel框架之redis使用

一切的前提都是已经安装好了redis服务器,并且能启动(我只总结了mac的安装方法:传送门) 我自己使用的是mac系统,有个教程可以参考下,传送门: 1.安装PHP PRedis 1>PRedis是PHP访问redis的扩展包,只需要下载原码即可,不需要安装PHP扩展(如php-redis.so). 2>laravel通过Composer来安装第三方程序包(管理依赖关系) 3>在Laravel项目根目录下运行如下命令使用Composer安装predis依赖包: composer requ

Laravel之路——file缓存修改为redis缓存

1.Session: 修改.evn文件: SESSION_DRIVER:redis (如果还不行的话,修改config/session.php的driver) 2.缓存修改为redis 注意:使用 Laravel 的 Redis 缓存之前,你需要通过 Composer 安装 predis/predis 包(~1.0). 1.修改.evn文件中redis的配置信息