【问题标题】:Issues Getting PHP to work with app.yaml and Google App Engine让 PHP 与 app.yaml 和 Google App Engine 一起工作的问题
【发布时间】:2013-12-28 12:28:16
【问题描述】:

我已经启动了一个在 GAE 上运行良好的 HTML 站点,但在激活和集成我的 PHP 代码时我却在苦苦挣扎。我知道这可能是因为我的 app.yaml 构造。我最初遵循其他建议来简化 app.yaml 文件。我研究了其他人,他们完全列出了 app.yaml 中所需的所有脚本和文件,并尝试了这种方法,但没有成功。

这是我当前的 app.yaml:

application: safe
version: 1
runtime: php
api_version: 1
threadsafe: true

handlers:
- url: /
  static_files: static/index.html
  upload: static/index.html
- url: /
  static_dir: static/

我的文件目录如下所示:

http://i.imgur.com/9VO92oB.jpg

index.html 位于静态目录中,其中有一个联系人表单,它调用联系人表单目录中的 PHP 文件。

有没有简单的方法来修复 app.yaml?我可以在 app.yaml 中只添加 PHP 文件作为脚本指令而不列出所有内容吗?我还需要做什么才能让 PHP 代码正常工作吗?

谢谢, 克里斯

【问题讨论】:

    标签: php android html google-app-engine app.yaml


    【解决方案1】:

    您不应该需要两个处理程序,因为它们重叠,因为第一个处理只是 index.html,第二个处理 static/ 中的所有内容,包括 index.html。

    还请注意,并非所有内容都必须放在名为 static 的目录中。如果您选择保留它,则将 PHP 移出它可能仍然有意义,因为它不是静态的,但忽略以下内容将从 URL 路径 /contact-form/...

    - url: /contact-form/(.+\.php)
      script: static/contact-form/\1
    

    你也可以做一些适用于所有 php 文件的事情,比如。

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

    或者如果你移出静态目录:

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

    【讨论】:

    • 感谢您的回复!我尝试删除现有的处理程序之一,并且两次站点都呈现不正确。我还添加了您的第二条建议,但是当我调用 PHP 文件时,它仍然给我一个意外错误已发生消息。当前被调用的 PHP 文件中只有一个 hello world 语句。
    • 你还有什么我可以尝试的想法吗?为了在实际服务器上激活 PHP,我需要做些什么吗?还是 runtime:php 处理?
    • 如果您收到“发生意外错误”,您应该检查应用程序控制台中的日志并查看是否有任何其他信息。或者,您是否有指向应用的链接,以便我可以直接看到?
    猜你喜欢
    • 1970-01-01
    • 2014-05-31
    • 2011-01-03
    • 1970-01-01
    • 2019-06-13
    • 2015-05-15
    • 2018-07-31
    • 2020-03-19
    • 2017-02-18
    相关资源
    最近更新 更多