[請益] Laravel的Queue沒辦法存取資料庫

作者: q10242 (黑田祐司)   2018-10-18 11:25:21
我的Laravel 同時使用了mongoDB和MySQL 兩個資料庫
兩個資料庫如果是在一般的Controller 或者router
都可以正常存取
另外 我的Queue是用Job排程到redis裡面後 過一段時間再進行工作
Queue的工作只要沒有牽涉到資料庫存取 都可以正常運作
不過一但我把有存取資料庫這個步驟的程式碼放到Job裡面去Queue就不一樣了
如果是mySQL , Log就會記錄這個問題
[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
我本來是想說用Job 呼叫static function,會出現這問題,後來又嘗試把程式碼直接放到Job裡面,也不行
我有use DB的相關namespace 所以我想應該不是use方面的問題
我不懂的地方是,Queue可以單獨work ,DB可以單獨work 但是兩個湊在一起就沒辦法
為啥
作者: MoMoShota (正太控)   2018-10-19 10:47:00
問一下,php artisan tinker 中能正常存取資料庫嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com