【问题标题】:Getting "could not find driver" when working with Redis job in Laravel在 Laravel 中使用 Redis 作业时出现“找不到驱动程序”
【发布时间】:2020-07-01 12:41:34
【问题描述】:

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

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

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

找不到驱动程序(SQL:插入failed_jobsconnectionqueuepayloadexceptionfailed_at)值(redis,默认值,{“type”:“job” ,"timeout":null,"tags":{},"id":"1","data":{"command":"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:\ "connection\";N;s:5:\"queue\";N;s:15:\"chainConnection\";N;s:10:\"chainQueue\";N;s:5:\"延迟\";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 中找到驱动程序

【问题讨论】:

标签: php mysql laravel laravel-5 redis


【解决方案1】:

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

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

QUEUE_CONNECTION=database

【讨论】:

  • 我也尝试使用“QUEUE_CONNECTION=database”并安装了 predis/predis
  • predis/predis 是让您的项目在您的服务器中使用 redis-server,如果您在 Windows 上运行,您应该运行 redis-server.exe 文件,如果您在 linux 中,您应该运行并设置它在每次启动时运行。在终端中尝试apt-get install redis-server for linux 和systemctl enable redis-server.service 在每次操作系统启动时启动它。
猜你喜欢
  • 2016-03-04
  • 2018-11-06
  • 2013-12-20
  • 2021-11-14
  • 2018-10-30
  • 1970-01-01
  • 2019-01-27
  • 1970-01-01
  • 2019-07-26
相关资源
最近更新 更多