我似乎找不到如何设置调用目录中其他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提供任何帮助。
答案 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