MacBook+XAMPP环境下Laravel5.4执行composer update报错求助
解决MacBook+XAMPP环境下Laravel 5.4 composer update数据库连接拒绝问题
嘿,我之前在Mac上用XAMPP搭Laravel环境时也碰到过几乎一模一样的问题,给你几个实用的排查和解决步骤,应该能搞定:
1. 先确认XAMPP的MySQL服务是否正常运行
打开XAMPP控制面板,检查MySQL模块的状态是不是Running。有时候服务可能意外停止,点击Start按钮重启一下,确保它在稳定运行状态。
2. 修正.env文件的数据库连接配置
Mac环境下XAMPP的MySQL连接容易踩localhost的坑,建议你把.env里的数据库配置调整成这样:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=你的项目数据库名 DB_USERNAME=root DB_PASSWORD=你的XAMPP MySQL密码(没设置就留空)
- 重点:把
DB_HOST从localhost改成127.0.0.1,因为Mac的localhost默认会走Unix Socket,而XAMPP的MySQL可能没开启Socket连接,用IP地址走TCP/IP更稳定。 - 修改完配置后,一定要执行这个命令清除配置缓存,不然Laravel可能还在使用旧配置:
php artisan config:clear
3. 单独测试php artisan optimize命令
composer update报错是因为执行post-update-cmd里的php artisan optimize时触发了数据库查询(你报错里的select * from houses),先单独运行这个命令看看:
php artisan optimize
如果还是报同样的连接错误,说明核心问题还是数据库连接没调好,上面两步搞定后应该就能解决;如果单独运行没问题,那可能是composer执行时的环境缓存问题,先执行下面的命令再跑composer update:
php artisan config:clear && php artisan cache:clear
4. 检查XAMPP MySQL的root用户权限
打开XAMPP的phpMyAdmin,进入「用户账户」页面,找到root用户,查看它的「主机」字段是不是localhost或者%(允许所有主机连接)。如果主机是特定IP,可能会限制本地连接,改成localhost即可。
内容的提问来源于stack exchange,提问作者gigi603
相关产品推荐
相关产品推荐

