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

部署在Heroku的Shopify应用出现500错误:MySQL连接被拒绝

Shopify应用部署Heroku后500错误:Azure MySQL连接拒绝问题

将Shopify应用部署在Heroku平台上,出现无特定触发条件的服务器500错误。经排查,问题根源是Azure上的MySQL数据库拒绝Docker环境的连接请求,具体错误信息如下:

Illuminate\Database\QueryException 和 SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = ? and table_name = migrations and table_type = 'BASE TABLE')

Heroku日志显示的其他错误均为该连接失败引发的连锁问题。

已尝试的排查步骤

  • 反复检查env文件,确认数据库连接配置无误;
  • 在Dockerfile中添加RUN apk add mysql-client,无改善;
  • 将env文件中的数据库配置手动添加至Heroku配置变量,执行heroku config可看到相关配置(DB_HOST为Azure MySQL地址,非localhost):
DB_CONNECTION: 
DB_DATABASE:
DB_HOST:  **not local host** 实际是Azure上的MySQL地址     
DB_PASSWORD:       
DB_PORT:        
DB_USERNAME:        
HOST:              
SCOPES:    
SHOPIFY_API_KEY:
SHOPIFY_API_SECRET:

今日heroku logs --tail完整输出(敏感信息已脱敏)

2024-08-21T04:10:59.839148+00:00 heroku[web.1]: 状态从up变为starting
2024-08-21T04:11:00.488050+00:00 heroku[web.1]: 发送SIGTERM终止所有进程
2024-08-21T04:11:00.509315+00:00 app[web.1]: [21-Aug-2024 04:11:00] NOTICE: 正在终止...
2024-08-21T04:11:00.509328+00:00 app[web.1]: [21-Aug-2024 04:11:00] NOTICE: 退出,再见!
2024-08-21T04:11:00.628531+00:00 heroku[web.1]: 进程退出,状态码143
2024-08-21T04:11:06.792929+00:00 heroku[web.1]: 启动进程,命令为`/app/entrypoint.sh`
2024-08-21T04:11:07.293306+00:00 app[web.1]: 运行数据库迁移...
2024-08-21T04:11:08.087715+00:00 app[web.1]: 没有需要迁移的内容。
2024-08-21T04:11:08.093413+00:00 app[web.1]: 启动nginx服务器...
2024-08-21T04:11:08.186291+00:00 app[web.1]: 服务`hwdrivers`依赖不存在的服务`dev`
2024-08-21T04:11:08.186300+00:00 app[web.1]: 服务`machine-id`依赖不存在的服务`dev`
2024-08-21T04:11:08.186506+00:00 app[web.1]: * 缓存服务依赖... [成功]
2024-08-21T04:11:08.202360+00:00 app[web.1]: * 检查路径:未找到所有者`nginx:nginx`
2024-08-21T04:11:08.204663+00:00 app[web.1]: nginx: [警告] "user"指令仅在主进程以超级用户权限运行时有效,在/etc/nginx/nginx.conf:1中被忽略
2024-08-21T04:11:08.209220+00:00 app[web.1]: * 启动nginx...nginx: [警告] "user"指令仅在主进程以超级用户权限运行时有效,在/etc/nginx/nginx.conf:1中被忽略
2024-08-21T04:11:08.211072+00:00 app[web.1]: [成功]
2024-08-21T04:11:08.214115+00:00 app[web.1]: 启动PHP服务器...
2024-08-21T04:11:08.238659+00:00 app[web.1]: [21-Aug-2024 04:11:08] NOTICE: [pool www] 当FPM不以root运行时,'user'指令被忽略
2024-08-21T04:11:08.238736+00:00 app[web.1]: [21-Aug-2024 04:11:08] NOTICE: fpm正在运行,进程ID 129
2024-08-21T04:11:08.239130+00:00 app[web.1]: [21-Aug-2024 04:11:08] NOTICE: 准备处理连接
2024-08-21T04:11:08.489892+00:00 heroku[web.1]: 状态从starting变为up
2024-08-21T17:09:22.087099+00:00 app[api]: 用户[邮箱已脱敏]部署版本90b693b9
2024-08-21T17:09:22.087099+00:00 app[api]: 用户[邮箱已脱敏]创建版本v21
2024-08-21T17:09:22.341631+00:00 heroku[web.1]: 重启
2024-08-21T17:09:22.394407+00:00 heroku[web.1]: 状态从up变为starting
2024-08-21T17:09:23.042588+00:00 heroku[web.1]: 发送SIGTERM终止所有进程
2024-08-21T17:09:23.060054+00:00 app[web.1]: [21-Aug-2024 17:09:23] NOTICE: 正在终止...
2024-08-21T17:09:23.060461+00:00 app[web.1]: [21-Aug-2024 17:09:23] NOTICE: 退出,再见!
2024-08-21T17:09:23.141668+00:00 heroku[web.1]: 进程退出,状态码143
2024-08-21T17:09:28.641194+00:00 heroku[web.1]: 启动进程,命令为`/app/entrypoint.sh`
2024-08-21T17:09:29.134483+00:00 app[web.1]: 运行数据库迁移...
2024-08-21T17:09:29.867048+00:00 app[web.1]: 没有需要迁移的内容。
2024-08-21T17:09:29.872716+00:00 app[web.1]: 启动nginx服务器...
2024-08-21T17:09:29.970252+00:00 app[web.1]: 服务`hwdrivers`依赖不存在的服务`dev`
2024-08-21T17:09:29.970259+00:00 app[web.1]: 服务`machine-id`依赖不存在的服务`dev`
2024-08-21T17:09:29.970417+00:00 app[web.1]: * 缓存服务依赖... [成功]
2024-08-21T17:09:29.984263+00:00 app[web.1]: * 检查路径:未找到所有者`nginx:nginx`
2024-08-21T17:09:29.987109+00:00 app[web.1]: nginx: [警告] "user"指令仅在主进程以超级用户权限运行时有效,在/etc/nginx/nginx.conf:1中被忽略
2024-08-21T17:09:29.992209+00:00 app[web.1]: * 启动nginx...nginx: [警告] "user"指令仅在主进程以超级用户权限运行时有效,在/etc/nginx/nginx.conf:1中被忽略
2024-08-21T17:09:29.994109+00:00 app[web.1]: [成功]
2024-08-21T17:09:29.997189+00:00 app[web.1]: 启动PHP服务器...
2024-08-21T17:09:30.019929+00:00 app[web.1]: [21-Aug-2024 17:09:30] NOTICE: [pool www] 当FPM不以root运行时,'user'指令被忽略
2024-08-21T17:09:30.020002+00:00 app[web.1]: [21-Aug-2024 17:09:30] NOTICE: fpm正在运行,进程ID 129
2024-08-21T17:09:30.020480+00:00 app[web.1]: [21-Aug-2024 17:09:30] NOTICE: 准备处理连接
2024-08-21T17:09:30.379115+00:00 heroku[web.1]: 状态从starting变为up
2024-08-21T17:09:55.071576+00:00 app[web.1]: 127.0.0.1 -  21/Aug/2024:17:09:54 +0000 "GET /index.php" 500
2024-08-21T17:09:55.071965+00:00 heroku[router]: at=info method=GET path="/" host=[主机已脱敏] request_id=[ID已脱敏] fwd="[IP已脱敏]" dyno=web.1 connect=0ms service=81ms status=500 bytes=7032 protocol=https
2024-08-21T17:09:56.155299+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=[主机已脱敏] request_id=[ID已脱敏] fwd="[IP已脱敏]" dyno=web.1 connect=1ms service=0ms status=200 bytes=232 protocol=https
2024-08-21T17:09:56.773677+00:00 app[web.1]: 127.0.0.1 -  21/Aug/2024:17:09:56 +0000 "GET /index.php" 500

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:19:50