php - Codeigniter 4 无法连接到数据库
问题描述
我花了几天时间调试我的新 codeigniter 设置但没有成功,我使用 mamp 作为本地服务器。以下是我的步骤:
- 从 mamp 创建主机:myci.local
- 从 mamp 创建数据库:myci_db
- 作曲家创建项目 codeigniter4/appstarter myci
- 将创建的主机指向 myci 文件夹
- 从文件 Config > App.php :
public $baseURL = 'https://myci.local/';
现在将数据库参数添加到 .env :
database.default.hostname = localhost
database.default.database = myci_db
database.default.username = root
database.default.password = root
database.default.DBDriver = MySQLi
- 添加迁移:
php spark migration:create users
- 执行迁移:
php spark migrate
来自 cli 的结果:
An uncaught Exception was encountered
Type: CodeIgniter\Database\Exceptions\DatabaseException
Message: Unable to connect to the database.
我还尝试从 Config/Database.php 配置数据库但没有成功:
public $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => 'root',
'database' => 'myci_db',
'DBDriver' => 'MySQLi',
'DBPrefix' => '',
'pConnect' => false,
'DBDebug' => (ENVIRONMENT !== 'production'),
'cacheOn' => false,
'cacheDir' => '',
'charset' => 'utf8',
'DBCollat' => 'utf8_general_ci',
'swapPre' => '',
'encrypt' => false,
'compress' => false,
'strictOn' => false,
'failover' => [],
'port' => 3306,
];
我不明白为什么这不起作用,CI4 还没有准备好生产吗?谢谢你。
注意:这些 db 参数适用于具有相同 mamp 服务器的其他站点。
解决方案
您不应该在命令中使用 --all ,它会触发其他内容。
错误的:
php spark migrate --all
正确的:
php spark migrate
执行正确的命令。
推荐阅读
- azure - 服务主体如何登录到我的 Azure 应用服务?
- scala - How do I get the value of a symbol using Scala reflection?
- amazon-web-services - 删除 AWS CloudFormation 堆栈不会释放分配给负载均衡器的弹性 IP
- bash - 如何在bash中使用多线程追加多个文件
- python - 如果我流式传输,Tweepy 不会打印出整个推文
- react-native - DropDownMenu React Native
- javascript - 独立于页面的其余部分缩放网页的一部分
- javascript - 出现错误说找不到模块'../util/http_util'
- regex - PowerShell Lookbehind 的 RegeX 代码在 IP 寻址上不匹配
- c++ - 用c ++输入记录的一个字段时如何搜索记录