PHP app.yaml谷歌应用引擎启动器


php app.yaml google app engine launcher

我不是一个开发人员,最近分配了一个任务,试图把一个简单的静态网站在谷歌网站托管。我在app.yaml部分卡住了。这个网站在服务器上工作得很好,我只是不能让它在GAE上工作。

handlers:
- url: /stylesheets
  static_dir: css
- url: /img
  static_dir: img
- url: /js
  static_dir: js
- url: /(.+'.php)$
  script: '1
- url: .*
  script: index.php 
folder
'css
'img
'js
about.php
footer.php
header.php
home.php
index.php
links.php
menu.php

如果我在app.yaml中留下静态目录行,网站将不会启动。如果我只离开脚本:index.php页面加载,但只有主页工作和页眉和页脚或CSS不工作。

我已经阅读了很多次谷歌文档,并在我的电脑上得到hello world的工作,只是不能让这个简单的网站工作

欢迎来到SO。

注意缩进,yaml是敏感的-你可以有不正确的配置作为结果(例如static_dir: css没有正确的缩进相对于url: /stylesheets,这可能是为什么你的CSS不工作)。

我认为问题中代码部分的较低部分实际上是您的目录结构的说明,而不是app.yaml.文件本身的一部分(这将是不正确的yaml语法)。

我在你的dir结构中没有看到favicon.ico文件,app.yaml文件中相应的部分目前是无用的(或者,如果文件在其他地方,该部分需要纠正)。

你没有其他.php文件的处理程序,它们是通过.*处理程序这是index.php处理的(不确定这是否是你的意图)。

你可能想浏览一下这个文档,里面有很多例子:https://cloud.google.com/appengine/docs/php/config/appconfig

更新:

假设您想为所有这些.php文件添加脚本处理程序,appconfig文档示例之一显示:

# Serve php scripts.
- url: /(.+'.php)$
  script: '1

您需要将此置于捕获所有.*处理程序之上(使用第一个匹配处理程序,顺序重要)。