手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

laravel predis `AUTH` failed: ERR Client sent AUTH

首页 > PHP >

之前写过一篇:laravel 队列报错:`AUTH` failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379] ,就在前两天,今天上线看的时候,发现pm2 status的时候显示failed。

于是就在看到底是怎么回事,按理这个参数应该没问题啊?经过不停的测试不停的测试,发现

1、将paramaters放在default和cache中,仍然报错

2、将paramaters放在options里,一样报错

3、将default/cache中的password删除,只除paramaters,报错

4、将default/cache中的password删除,删除paramaters,留options中的paramaters,报错

5、将所有涉及到密码的地方删除,成功

--------再看predis的github发现他已经几年不更新了。所以,我也只能忍喽?不然怎么办?如果有设置密码,就将这个key加回来【因为之前测试过,如果确实有密码,并且设置了,没问题】

再看,pm2 stauts,还是报错,那问题就来了。因为我直接php artisan queue:work --tries=5 --sleep=1没有错,但为什么pm2启动就报错呢?于是查看进程,ps uax|grep artisan,发现运行路径是在release/4目录下。而不是current目录【之所以目录结构 是这样,是缘于我采用deployer进行项目部署的】

即使我在current目录下执行pm2 start xxx.yml,也是默认在release/4路径,毕竟它是映射过来的

所以最终我只能修改yml文件,将artisan路径设置为绝对路径。强行指定为current所在的绝对路径。这样就没有问题了。

至此,Auth没有设置密码的问题解决。同时还解决了artisan 执行queue:work 路径不对的问题(如果不解决这个,这意味着无论我怎么执行,都不在正确的目录下了)




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: laravel, predis, auth

« 上一篇 | 下一篇 »

只显示10条记录相关文章

发表评论

评论内容 (必填):