Laravel本地项目使用MAMP+PHP7.4.21提示数据库连接未配置错误
问题排查&解决方案
存在的配置错误
- 数据库连接名不匹配:
.env中配置的DB_CONNECTION=vmlm,但database.php的connections数组下仅定义了sqlite、mysql两个连接,不存在名为vmlm的连接,Laravel无法加载对应数据库配置。 - MAMP端口配置错误:MAMP默认MySQL服务端口为
8889,当前配置的3306为系统原生MySQL默认端口,未手动修改过MAMP端口的情况下会无法连接数据库。 - 数据库账号密码不匹配:MAMP默认MySQL的root用户密码为
root,当前.env中DB_PASSWORD留空,身份验证无法通过。 - 额外问题:
.env中APP_KEY为空,后续数据库问题修复后还需生成应用密钥否则服务无法正常启动。
修复步骤
- 修改
.env的数据库连接名,使用MySQL的话调整为:
DB_CONNECTION=mysql
- 修正端口和密码配置,
.env对应项调整为:
DB_PORT=8889 DB_PASSWORD=root
如果你手动修改过MAMP的MySQL端口、root账号密码,替换为自己设置的对应值即可。
- 登录本地MySQL确认已创建
DB_DATABASE对应的laravel数据库,没有的话先手动新建。 - 执行命令生成应用密钥:
php artisan key:generate - 清空配置缓存后重启服务:
php artisan config:clear php artisan serve
额外检查:你贴出的
database.php代码中connections' => [缺少左侧单引号,实际代码如果存在这个问题请修正为'connections' => [,否则会报PHP语法错误。
内容的提问来源于stack exchange,提问作者avlz
相关产品推荐
相关产品推荐

