将 PHP 应用程序部署到 App Engine 时出错

Posted

技术标签:

【中文标题】将 PHP 应用程序部署到 App Engine 时出错【英文标题】:Error deploying PHP application to App Engine 【发布时间】:2022-01-16 07:35:27 【问题描述】:

我的应用只有两个文件:index.php 和 app.yaml 在同一个目录下。每次尝试将应用程序部署到 App Engine 时,我都会收到错误消息。

【问题讨论】:

这不是一个有用的错误,是吗?请确认您使用的是 App Engine 灵活(非标准)?当你说“Hello World”时,是谷歌教程(github.com/GoogleCloudPlatform/php-docs-samples)吗?您是否启用了计费?请尝试运行gcloud app deploy --verbosity=debug Daz,我的应用程序只是一个 index.php 文件,里面有“echo hello world”,还有一个 app.yaml 文件,runtime: php env: flex runtime_config: document_root: / If I change document_root其他任何内容或将其留空都会给我一个错误。 App Engine 期望应用程序成为网络服务器。它期望接收一个侦听端口8080并支持HTTP 的容器。您将无法仅部署 echo hello world。看看我包含的 Hello World 示例。也许试试? 我的应用不是网络服务器。所以问题出在我的 app.yaml 文件上。显然您不能将它与您的应用程序放在同一个目录中,所以我这样做了:client > app > web > index.php + client > app > app.yaml 并在 app.yaml 中我将其更改为 document_web: web - Everything工作正常,网站现在运行正常。 发布您的解决方案并附上解释,以帮助其他有类似问题的人。 【参考方案1】:

你的文件结构必须是某种方式。

[folder1/] [folder1/web/] [folder1/app.yaml]

index.php

<?php echo "hello world"; ?>

app.yaml

runtime: php
env: flex

runtime_config:
  document_root: web

也许这是不正确的,但这是我让它工作的唯一方法。

【讨论】:

以上是关于将 PHP 应用程序部署到 App Engine 时出错的主要内容,如果未能解决你的问题,请参考以下文章

将 Meteor 部署到 Google App Engine 2017

如何将新服务部署到 Google App Engine 中的现有应用程序?

将 Ruby on Rails 应用程序部署到 Google App Engine

将应用程序部署到Google App Engine时出现超时错误

如何将 socket.io 部署到 Google App Engine?

将基本的 Angular 2 应用程序部署到 Google App Engine