Cloud SQL Proxy下PHP Artisan Migrate执行失败求助
排查Cloud SQL Proxy连接Laravel迁移报错问题
1. 核对Laravel数据库配置与Proxy运行模式匹配度
你手动启动Proxy时用了--port 3307,属于TCP端口模式,此时数据库连接应该指向127.0.0.1:3307,而非/cloudsql/[实例连接名]的Unix套接字路径。检查你的Laravel .env 或数据库配置文件:
- 确保
DB_HOST设为127.0.0.1,DB_PORT设为3307 - 如果自动化环境中Proxy是用Unix套接字模式启动的,需:
- 确认Proxy启动时指定了正确的套接字目录(默认是
/tmp/cloudsql),且PHP进程拥有该目录的读写权限 - 将
DB_HOST改为完整的套接字路径,比如/tmp/cloudsql/****:europe-west1:***-bdd
- 确认Proxy启动时指定了正确的套接字目录(默认是
2. 验证Proxy启动参数一致性
对比手动启动命令和自动化环境的Proxy启动命令:
- 手动启动命令:
./cloud-sql-proxy --port 3307 ****:europe-west1:***-bdd - 检查自动化环境中是否遗漏了
--port参数(默认启动是套接字模式),或者实例连接名是否和手动的一致 - 若用systemd等服务管理工具启动Proxy,查看服务配置文件中的启动参数是否正确
3. 清理Laravel配置缓存
执行以下命令清除配置缓存,确保新的数据库配置生效:
php artisan config:clear php artisan cache:clear
4. 检查权限与路径访问性(套接字模式场景)
如果自动化环境用套接字模式:
- 确认
/tmp/cloudsql目录存在,且PHP进程所属用户(如www-data)拥有该目录的读写权限 - 检查套接字文件
/tmp/cloudsql/****:europe-west1:***-bdd是否生成,可通过ls -l /tmp/cloudsql查看
内容的提问来源于stack exchange,提问作者shinzo94
相关产品推荐
相关产品推荐

