谷歌应用引擎yaml配置


Google App Engine yaml configuration

我在GAE .yaml设置中遇到了一些问题。

这是我的文件路径(抱歉链接,但我还不能发布图像):

https://i.stack.imgur.com/q4fNb.jpg

https://i.stack.imgur.com/moIcm.jpg

和我的yaml文件:

part 1

    application: pricecrawler-maja
    version: 1
    runtime: php55
    api_version: 1
    handlers:
    - url: /src
      static_dir: src
    - url: /vendor/moderna/
      static_dir: vendor/moderna
    - url: /vendor/twbs/
      static_dir: vendor/twbs
    - url: /404'.html
      script: /404.html

这里是我不知道如何设置的php文件,所以我就像这样输入

part 2
    - url: /discount_book.php
      script: discount_book.php
    - url: /discount_book_print.php
      script: discount_book_print.php
    - url: /discount_view.php
      script: discount_view.php
    - url: /src/LIB_http.php
      script: src/LIB_http.php
    # and so on... I have typed every single php file into the yaml.
part 3
    # Serve php scripts.
    - url: /src/(.+'.php)
      script: src/'1
    - url: /(.+'.php)
      script: '1
    - url: /.*
      script: index.php
我的一些php文件包含如下代码:
    include_once "src/LIB_http.php";
    include_once "basic_class.php";

当我在我的pc上运行它(使用wamp和GAE Launcher本地)和OpenShift时,该网站工作正常。

我知道GAE使用正则表达式来定义文件方向。

我第一次部署我的项目(yaml文件只包含第1部分&2),GAE网站出现故障。
我第二次按照上面的方法修改app.yaml,网站还是不能正常运行。
我认为问题出在app.yaml上。

我该如何解决这个问题?

可能会有更多的问题,但事情开始在你的app.yaml的一开始就坏了:

handlers:
- url: /src
  static_dir: src

这意味着/src中的所有文件都将被静态地服务,而不是在您的应用程序引擎实例中运行-因此,/src下的文件甚至不上传到与应用程序其余部分相同的地方。

所以像include_once "src/LIB_http.php"这样的代码在其他PHP文件中当然不会工作:记住,你告诉应用引擎/src是要服务的静态文件的目录,而不是要运行的应用文件,所以src/LIB_http.php不会与应用程序的其余文件一起上传。

为什么你认为你想从/src静态文件服务?删除该节(我建议也删除所有的"第2部分",因为"第3部分"中的正则表达式应该能够自己完成这项工作),虽然你可能有其他错误(我不能从这里调试你的应用程序:-)至少这个主要的,明显的一个会消失。