CodeIgniter 4 -.env文件的多个数据库问题

mm9b1k5b  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(74)

我使用的是CodeIgniter 4.0.3。我已经通过composer安装了它:
composer create-project codeigniter4/framework

  • 在composer项目创建完成后出现一个错误(Script bash admin/setup.sh handling the post-update-cmd event returned with error code 127-在Windows 10上运行),但通过编辑composer.json并删除bash admin/setup.sh指令很快解决了这个问题 *

我已经成功地跟进了tutorial,在那之后,我决定做一些修改,使其更接近我的web应用程序的要求,例如添加多个数据库。
从文档(herehere)开始,我读到我必须修改我的.env文件。这是原版

# ORIGINAL .env
database.default.hostname = localhost
database.default.database = ci4
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi

我想做的是:

# MODIFIED .env
database.primary.hostname = localhost
database.primary.database = ci4primary
database.primary.username = root
database.primary.password =
database.primary.DBDriver = MySQLi

database.secondary.hostname = localhost
database.secondary.database = ci4secondary
database.secondary.username = root
database.secondary.password =
database.secondary.DBDriver = MySQLi

接下来,在我的模型中,我调用了数据库来连接:

use Config\Database;

...

$dbPrimary   = Database::connect('primary');
$dbSecondary = Database::connect('secondary');

当我运行应用程序时,我得到以下错误:

InvalidArgumentException primary is not a valid database connection group

我不知道还能做什么,我尝试了对.env文件的各种编辑,尝试调试Config类(我认为它不加载primary也不加载secondary子键---我也不知道如何更改类以从我的环境文件中读取它们)。
快速检查表:

  • env文件已移动到.env
  • ci4primaryci4secondary数据库都存在,并且具有包含数据的正确表
  • 数据库凭据正常
  • CI环境设置为开发
e37o9pze

e37o9pze1#

.env文件中的数据库连接组也必须存在于app/Config/Database.php文件中。默认情况下,仅定义defaulttests连接组。

相关问题