首页 > 解决方案 > 在 Laravel 中使用 Redis 作业时出现“找不到驱动程序”

问题描述

我在 Ubuntu 系统上安装了我的 Laravel 应用程序,并且已经安装了 pdo_mysql 和 mysqli 以及所有扩展。

当我在没有 Redis 驱动程序的情况下运行作业时,代码工作正常,但在使用 Redis 驱动程序时工作不正常。

我遇到了错误,这对我来说很奇怪:

找不到驱动程序 (SQL: 插入failed_jobs( connection, queue, payload, exception, failed_at) 值 (redis, default, {"type":"job","timeout":null,"tags":{},"id":"1" ,"数据":{"命令":"O:26:\"App\Jobs\SapProductSyncJob\":8:{s:9:\"user_data\";a:1:{s:7:\"user_id \";i:3;}s:6:\"\u0000*\u0000job\";N;s:10:\"连接\";N;s:5:\"队列\";N;s: 15:\"chainConnection\";N;s:10:\"chainQueue\";N;s:5:\"delay\";N;s:7:\"chained\";a:0:{} }","commandName":"App\Jobs\SapProductSyncJob"},"displayName":"App\Jobs\SapProductSyncJob","timeoutAt":null,"pushedAt":"1584684956.0182","job":"Illuminate\Queue\CallQueuedHandler@call","maxTries":null,"delay":null,"attempts":2}, PDOException: 在 /home/path/vendor/doctrine/dbal/ 中找不到驱动程序lib/Doctrine/DBAL/Driver/PDOConnection.php:27

标签: phpmysqllaravellaravel-5redis

解决方案


你应该在你的服务器上下载、安装和运行 redis-server:下载 Redis

或者,您可以通过编辑.env文件将数据库用作作业的存储:

QUEUE_CONNECTION=database

推荐阅读