2015-03-09 6 views
0

Я не могу найти рабочие ответы на вопрос о том, как настроить файл .yaml, который вызывает другие скрипты php в каталоге. Я не согласен с файлами .yaml, и там не так много документации, чтобы заставить меня двигаться. Вот что у меня есть:Настройка файла .yaml для Google App Engine

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 за любую помощь.

ответ

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

+0

Хорошая информация. Спасибо. Определенно помог мне. Кажется, так просто ... –

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

+0

Как ни странно, это, похоже, не имеет значения. Я согласен, что он должен быть там, поэтому он был добавлен. К счастью, вышеупомянутое предложение от @Alex Martelli помогло мне. Спасибо за вашу помощь от моего недосмотра! –

Смежные вопросы