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

PHP Shopify主题应用扩展预览505错误及动态补货通知开发求助

解决Shopify Theme App Extension开发中npm run dev出现505 Server Error的方案

1. 检查本地开发服务器的HTTP版本配置

  • 查看项目package.json中的dev脚本,确认启动的服务器(如Vite、Webpack Dev Server)是否有强制指定HTTP版本的参数,部分旧配置会锁定HTTP/1.0,而Shopify端要求HTTP/1.1或更高版本,需移除这类限制。
  • 若使用PHP后端服务器(Apache/Nginx),检查服务器配置文件:
    • Apache:确保httpd.conf中Protocols设置为HTTP/1.1 HTTP/2,避免仅支持旧版本协议。
    • Nginx:在server块中添加http2 on;,开启HTTP/2支持。

2. 排查Shopify CLI代理冲突

  • 执行shopify version确认CLI版本为最新,旧版本可能存在代理协议兼容问题,若不是最新版,运行npm install -g @shopify/cli更新。
  • 检查本地端口占用情况,默认开发端口3000若被其他程序占用,修改dev脚本指定新端口,比如"dev": "vite --port 3001",同时在Shopify CLI预览时指定对应端口。

3. 验证Theme App Extension嵌入配置

  • 打开扩展的extension.config.yml,确认target和placement字段设置正确,比如产品页支付按钮下方的目标区域应为product.buy_buttons.after,错误的嵌入位置可能触发协议不匹配的请求。
  • 检查扩展前端代码,确保所有请求使用HTTPS(Shopify店铺仅支持HTTPS),避免硬编码HTTP请求导致混合协议错误。

4. 检查PHP后端响应规范

  • 排查PHP应用的响应头,确保没有返回无效的HTTP-Version字段或不符合HTTP规范的头信息,避免自定义非标准头导致Shopify端解析失败。
  • 若使用框架(如Laravel),确认框架的HTTP配置未强制使用旧版本协议,比如Laravel的config/app.php中无相关限制。

5. 本地网络与SSL排查

  • 若使用本地SSL证书(如mkcert生成),确认证书已正确安装且未过期,Shopify代理无法识别无效证书可能导致协议协商失败。
  • 暂时关闭本地防火墙、代理工具(如Charles、Fiddler),排查是否有工具拦截并修改了HTTP请求的版本信息。

内容的提问来源于stack exchange,提问作者H3 Technologies Development

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:32:45