为Google App Engine设置.yaml文件

时间:2015-03-09 16:44:24

标签: php google-app-engine yaml

我似乎找不到如何设置调用目录中其他php脚本的.yaml文件的工作答案。我对.yaml文件一无所知,并没有很多简单的文档可以帮助我。这就是我所拥有的:

handlers:
- url: /stylesheets
  static_dir: stylesheets
- url: /adminpanel
  script: pushnotifierv15.php
  secure: always
- url: /admin-services
  script: admin-services/notificationCP.php
- url: /sendMsg.php
  static_files: /admin-services/sendMsg.php
  upload: /admin-services/sendMsg.php

pushnotifierv15.php以及.yaml文件位于项目的根目录下。所有其他脚本都位于“admin-services”目录中。我不确定如何将其他脚本添加到.yaml文件中。 “notificationCP.php”是主脚本,其他脚本以其形式提供(通过表单提交)。 TIA提供任何帮助。

2 个答案:

答案 0 :(得分:3)

您可以根据需要继续处理url: / script:对。例如,假设(因为我不知道您如何命名您的脚本或您希望他们处理哪些URL),您现在所处的位置

- url: /admin-services
  script: /admin-services/notificationCP.php
- url: /sendMsg.php
  static_files: /admin-services/sendMsg.php
  upload: /admin-services/sendMsg.php

您可以将其扩展为类似

的内容
- url: /admin-services
  script: /admin-services/notificationCP.php
- url: /another-url
  script: /admin-services/whateverCP.php
- url: /and-yet-another
  script: /admin-services/somethingelseCP.php
- url: /sendMsg.php
  static_files: /admin-services/sendMsg.php
  upload: /admin-services/sendMsg.php

等等。您还可以使用url:中的正则表达式让脚本提供与正则表达式匹配的多个网址(在这种情况下,请注意处理程序的顺序 - 作为极端示例,url: .*,如果present,应始终是 last ,因为它将匹配任何内容,并且不会考虑其下面的其他URL - IOW,路由通过尝试匹配url:指令来实现订单,自上而下)。

答案 1 :(得分:1)

好像你错过了领先的/

handlers:
- url: /adminpanel
  script: pushnotifierv15.php
  secure: always
- url: /admin-services
  script: /admin-services/notificationCP.php < add missing /

参考:https://cloud.google.com/appengine/docs/php/config/appconfig#PHP_app_yaml_Script_handlers