[請益] Laravel的Queue沒辦法存取資料庫
我的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 但是兩個湊在一起就沒辦法
為啥
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.128.70
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1539833124.A.A49.html
推
10/19 10:47,
6年前
, 1F
10/19 10:47, 1F
我後來也是去試了tinker 發現其實應該是伺服器的php跟在伺服器終端打php的指令用的版本不同
所以套件沒有共用 問題應該在這裡
※ 編輯: q10242 (180.176.128.70), 10/19/2018 11:06:13
※ 編輯: q10242 (180.176.128.70), 10/19/2018 13:11:00
PHP 近期熱門文章
PTT數位生活區 即時熱門文章