我的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 但是两个凑在一起就没办法
为啥