Невозможно использовать драйвер БД, когда очередь - PullRequest
0 голосов
/ 17 октября 2018

MySQL и MongoDB работают нормально, когда работают в обычном контроллере. Однако, когда я ставлю какую-то работу для доступа к БД, появляется ошибка, Даже я использую пространство имен драйвера db.

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use App\model\Product;
use Illuminate\Support\Facades\DB;
use Illuminate\Foundation\Bus\Dispatchable;


class ProductOrderTimer implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

     public $orderId;
     public $orderLife;

     public function __construct($orderId,$orderLife)
     {
         $this->orderId = $orderId;
         $this->orderLife = $orderLife;
     }


    public function handle()
    {

      $test = Product::all();
    //...other code

}

Сообщение об ошибке:

[2018-10-17 18:10:39] local.ERROR: PDOException: could not find driver in /var/www/html/laravel/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:40

, если я получу доступ к mongoDB, журнал ошибок запишет это:

[2018-10-17 13:37:48] local.ERROR: MongoDB\Driver\Exception\InvalidArgumentException: Failed to parse MongoDB URI: 'mongodb://mongo:tcp://172.17.0.4:27017'. Invalid host string in URI. in /var/www/html/laravel/vendor/mongodb/mongodb/src/Client.php:83

, эти БД работают нормально, а работа отлично работает безДоступ к БД.Но когда они собраны, БД потерпит неудачу.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 17 октября 2018

Похоже, у вас не установлены драйверы для pdo, они нужны вам для создания pdo-соединения

Ознакомьтесь с руководством:

http://php.net/manual/en/pdo.drivers.php

...