Я не могу найти рабочие ответы на вопрос о том, как настроить файл.yaml, который вызывает другие скрипты php в каталоге. Я не согласен с файлами.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 за любую помощь.
Вы можете просто продолжать обрабатывать 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-адресов, соответствующих регулярному выражению (в этом случае будьте осторожны с порядком ваших обработчиков), в качестве крайнего примера, url:.*
, Если он присутствует, всегда должен быть последним, поскольку он будет соответствовать чему угодно, и никакие другие URL-адреса ниже его никогда не будут рассмотрены - IOW, маршрутизация происходит, пытаясь сопоставить директивы url:
по порядку, сверху вниз).
Кажется, что вам не хватает ведущего /
:
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