让我的app.yaml PHP配置在Google App Engine中工作

时间:2018-09-26 07:13:50

标签: php google-app-engine include app.yaml

我是Google App Engine的新手,app.yaml严重困扰了我,我无法弄清楚,我到处都看过,但似乎没有任何效果。这是我的.yaml,所有内容都可以在XAMPP上运行,但我似乎无法在App Engine上使它正常工作/起作用。

runtime: php55
api_version: 1

handlers:

- url: /(.*\.(ico$|jpg$|png$|gif$|htm$|html$|css$|js$|xml$))
  static_files: \1

  upload: (.*\.(ico$|jpg$|png$|gif$|htm$|html$|css$|js$|xml$))
  application_readable: true

- url: /(.+)
  script: \1

- url: /
  script: index.php

索引中的包含项,例如<?php include "/static/include/header.php";?>不会显示在我的页面上,并且该文件也包含我所有的样式/ css包含项等,以及如何简单地处理GET_[]只是更改url,但页面不会对其进行处理。到目前为止,我已经将我的logo.png显示在索引上,但是到目前为止,我还无法弄清楚。

示例:.php?ID=99999999&group=All 我认为我需要对YAML做一些事情才能真正完成上述工作。

  

此页面无法正常运行。游戏目前无法处理   这个请求。 HTTP错误500

将上面的示例作为后缀后,便可以得到。

1 个答案:

答案 0 :(得分:1)

您的app.yaml中存在一些问题。将其视为将请求路由到正确目的地的正则表达式匹配过程。 $放在末尾,而不是针对每个可能的匹配。

尝试一下:

# For better organization, let's put all your static files in a directory called "static", and include files in a directory called `includes`.  A .php script is not a static file

- url: /(.*\.(ico|jpg|png|gif|htm|html|css|js|xml))$
  static_files: static/\1
  upload: static/.*\.(ico|jpg|png|gif|htm|html|css|js|xml)$
  application_readable: true

如果将包含文件放在名为includes的目录中,它将看起来像这样:

- url: /includes/(.+\.php)$
  script: /includes/\1

接下来,我们不要将垃圾URL发送到脚本。让我们确保它与xxx.php相匹配:

- url: /(.+\.php)$
  script: \1