将 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时出现超时错误