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

在Google Cloud Platform部署API Platform(Symfony)应用遇问题求助

问题1:App Engine部署后所有路径返回404

排查与修复步骤

  • 检查app.yaml路由配置:确保所有请求都转发到前端控制器index.php。正确的handlers配置示例:
    runtime: php82
    handlers:
      - url: /.*
        script: auto
        secure: always
    
    若使用自定义Dockerfile部署(Flex环境),需保证Nginx/Apache等web服务器配置了重写规则,将所有请求导向public/index.php。比如Nginx配置片段:
    location / {
        try_files $uri /index.php$is_args$args;
    }
    
  • 确认Dockerfile根目录设置:API Platform的入口文件位于public目录,Dockerfile需确保web服务器根目录指向该文件夹。以Apache为例:
    WORKDIR /var/www/html
    COPY . .
    RUN chown -R www-data:www-data public
    
  • 查看部署日志定位问题:执行gcloud app logs tail -s default实时查看请求日志,确认是路由匹配失败还是服务器内部错误导致的404。
问题2:Docker Build提示unable to prepare context: path "api" not found

修复步骤

该错误源于docker build命令指定的构建上下文路径不存在,按以下方式调整:

  • 核对项目结构:若你的项目根目录就是代码目录(无api子文件夹),去掉命令中的api路径,改为:
    docker build -t gcr.io/[你的项目ID]/api .
    
    命令末尾的.代表以当前目录作为构建上下文。
  • 若存在api子目录:确保执行命令时的当前工作目录为项目根目录,或明确指定子目录路径:
    docker build -t gcr.io/[你的项目ID]/api ./api
    
  • 指定Dockerfile路径:若Dockerfile不在默认路径下,用-f参数指定其位置:
    docker build -t gcr.io/[你的项目ID]/api -f ./path/to/Dockerfile .
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:35:17