You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统使用XAMPP运行Laravel创建迁移出现查询错误如何解决?

操作前先确认XAMPP控制面板中MySQL服务处于正常运行状态。

解决步骤

1. 对齐CLI端PHP版本与XAMPP版本

终端执行php artisan相关命令时默认调用Mac本机预装的PHP 7.3.29,和XAMPP集成的PHP 8.0.10环境不一致,会导致数据库连接路径不匹配,需优先修正:

  • 打开终端编辑shell配置文件,使用zsh的用户编辑~/.zshrc,使用bash的用户编辑~/.bash_profile
  • 在文件末尾添加一行配置:export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"
  • 执行source ~/.zshrc(zsh环境)或source ~/.bash_profile(bash环境)让配置生效
  • 执行php -v验证版本,确认输出为XAMPP对应的PHP 8.0.10即可

2. 校验Laravel .env数据库连接参数

确认项目根目录下.env文件的数据库配置和XAMPP MySQL参数完全匹配:

  • 默认XAMPP MySQL端口为3306,账号为root,初始密码为空
  • DB_HOST需填写127.0.0.1,不要填localhost,避免走本地socket连接出错
  • 确认DB_DATABASE对应的库名laravel-app已经提前在XAMPP的phpMyAdmin中创建完成,不存在拼写错误

3. 修改XAMPP MySQL配置参数

SQLSTATE[HY000] [2006] MySQL server has gone away报错通常是因为连接超时或者数据包大小限制导致,需调整MySQL配置:

  • 打开XAMPP控制面板,点击MySQL行的「Config」按钮,选择my.cnf文件编辑
  • 找到[mysqld]段落,添加或修改以下参数:
    wait_timeout = 600
    max_allowed_packet = 64M
    interactive_timeout = 600
    
  • 保存配置后,在XAMPP控制面板重启MySQL服务
  • 重启后先执行php artisan migrate:install初始化迁移表,再执行正常的迁移命令验证是否修复

额外排查方案

如果以上操作后仍报错,可尝试清空重生成Laravel配置缓存:

  • 执行php artisan config:clear清除旧的缓存配置
  • 执行php artisan config:cache重新生成配置缓存

内容的提问来源于stack exchange,提问作者ksuetnikov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:15:03