我使用的是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应用程序的要求,例如添加多个数据库。
从文档(here和here)开始,我读到我必须修改我的.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
ci4primary
和ci4secondary
数据库都存在,并且具有包含数据的正确表- 数据库凭据正常
- CI环境设置为开发
1条答案
按热度按时间e37o9pze1#
.env
文件中的数据库连接组也必须存在于app/Config/Database.php
文件中。默认情况下,仅定义default
和tests
连接组。