【问题标题】:Beanstalk queue Error [PDOException] could not find driver. when save database eloquentBeanstalk 队列错误 [PDOException] 找不到驱动程序。保存数据库时雄辩
【发布时间】:2016-07-29 13:43:57
【问题描述】:

嘿伙计们,我收到一个错误“错误 [PDOException] 找不到驱动程序”,就像我的标题中描述的那样。有人知道怎么解决吗??

这是我的 .env

APP_ENV=local
APP_DEBUG=true
APP_KEY=base64:CZRXQSmW+gkqzEV0NzRZDtxmsUjoHdk3ZuYqkIh3rgw=
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=secret
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=beanstalkd

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

还有我的代码

这个是第一个队列

namespace Automation\Jobs;

use Automation\Models\UserLog;
use Automation\Models\User;
use Automation\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;


class SendReminderEmail extends Job implements ShouldQueue
{
    use InteractsWithQueue, SerializesModels;

    protected $user;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($id)
    {

      $this->user = $id;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        echo "start";

        $userlog = new UserLog;
        $userlog->email = $this->user."@test.com";
        $userlog->admin = $this->user;
        $userlog->description = $this->user;
        $userlog->created = date("Y-m-d H:i:s");
        $userlog->save();

        $sleep = mt_rand(1, 10);
        sleep($sleep);

        $userlog = new UserLog;
        $userlog->email = $this->user."@test.com";
        $userlog->admin = $this->user;
        $userlog->description = $this->user;
        $userlog->created = date("Y-m-d H:i:s");
        $userlog->save();

        echo "end";
    }
}

我只是用这样的函数调用

$this->dispatch(new SendReminderEmail(7));

我在 ubuntu 服务器上工作,当我使用 php artisan queue:listen on command line 时出现错误

【问题讨论】:

  • 请发布您用于保存数据的.env 文件和代码。
  • 已经编辑了我的问题@AlexeyMezenin
  • 我敢打赌你有错误的数据库配置。你用宅基地吗?
  • @alexeymezenin no im not using,它可以在另一个没有实现队列的控制器上工作或创建记录
  • @AlexeyMezenin 没有我没有使用,它可以在另一个没有实现队列的控制器上工作或创建记录

标签: laravel queue beanstalkd pheanstalk


【解决方案1】:

这是因为我没有在 linux 上安装 sql。 在 linux 终端中: sudo apt-get install php5-mysql 问题就解决了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-20
    • 2015-05-20
    • 2016-09-03
    • 2022-01-23
    • 2017-06-07
    相关资源
    最近更新 更多