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

Google App Engine部署多PHP服务路由异常返回500怎么解决?

问题原因

你的问题属于配置错误,核心问题是各服务的yaml配置中script路径和服务部署根目录不匹配,导致GAE找不到入口文件返回500错误:
你部署单个服务时,会以对应服务yaml所在的目录为部署根目录,文件路径的计算是相对于这个根目录的,而不是相对于整个项目的根目录。原来的api.yaml中script: /API/api/index.php的写法,会在API目录下寻找API/api/index.php文件,这个路径实际不存在,所以触发500错误。

修复方案

1. 修改各服务配置文件

调整API/api.yaml配置

runtime: php73
service: api

handlers:
- url: /.*
  script: api/index.php

调整admin/admin.yaml配置

runtime: php73
service: admin

handlers:
- url: /.*
  script: public/index.php

dispatch.yaml的路由规则无需修改,现有配置可以正确把对应前缀的请求转发到目标服务。

2. 按顺序部署所有资源

执行以下命令完成部署:

  • 在项目根目录部署默认服务:gcloud app deploy
  • 进入admin目录部署admin服务:gcloud app deploy admin.yaml
  • 进入API目录部署api服务:gcloud app deploy api.yaml
  • 回到项目根目录部署路由规则:gcloud app deploy dispatch.yaml

3. 验证

部署完成后测试:

  • 访问https://PROJECT_ID.REGION_ID.r.appspot.com/API/api/返回Welcome to api service
  • 访问https://PROJECT_ID.REGION_ID.r.appspot.com/admin/public/返回Welcome to admin service
  • 访问根路径返回Not found
    如果仍有500错误,可以到GAE控制台的日志查看器中查看具体报错信息,确认是否为文件路径配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:27:05