关于laravel 5.3 使用redis缓存出现找不到Class 'PredisClient' not found的问题

it2022-05-05  243

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

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

如图:

 

 laravel 版本号

 

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

Route::get('home', 'HomeController@index');Route::get('/', 'HomeController@index');怎么配置控制器就不细说了。说问题重点了(敲黑板!!!!!):访问出现错误!!!说找不到一个类:找不到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 errorRetrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more infoYour 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 conflict 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 these 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。】

 

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

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

 

 

 

这个错误,我调试了很久,网上没找到解决方法,所以花了很多时间才解决,具体是什么原因,我也不能乱说。

总结一下错误原因:

使用redis才会报错,如果你项目中没用用系统提供的redis方法,就不会遇到。版本问题,只要laravel 5.3.*才有这个问题,因为以前版本都可以直接执行composer require predis/predis 解决。predis 官网维护没有及时更新 导致新版laravel 出现 请求的包laravel /passport (锁定在V1.0.0,需通过laravel 1.0.8)/passport [ V1.0.0 ]还么想到,希望大家知道的补充,,,,,

 

先这样吧,希望能帮到遇到同样问题的同道。

 

原创博客,转载请注明出处!!!谢谢

 

====MING

转载于:https://www.cnblogs.com/shaozeming/p/6130123.html

相关资源:DirectX修复工具V4.0增强版

最新回复(0)