Моя проблема упоминается в названии, но я повторюсь. Я новичок в GAE и во всем этом. Моё приложение использует PHP и Mysql. У меня есть mysql, работающий в Cloud Sql, и я только что развернул свое приложение на движке приложения.
Что работает: PHP-скрипты, которые не требуют параметров, т.е. (FooBar.php)
Что не работает: PHP-скрипты, которые мне нужны для передачи параметров, т.е. (FooBar.php? Foo = bar)
Я считаю, что решение заключается в том, как настроить файл app.yaml.
Я снова скажу, что РЕГУЛЯРНЫЕ СЦЕНАРИИ PHP ВЫПОЛНЕНЫ
Те, где я нуждаюсь в параметрах, являются моей единственной проблемой.
Вот пример моего файла app.yaml
application: foo-bar-111
version: 1
runtime: php
api_version: 1
handlers:
- url: /(.+\.php)$
script: \1
Любая помощь будет оценена, пожалуйста!
Файл app.yaml, который вы скопировали в свой вопрос (при условии, что цитаты, отмеченные мной в комментариях, на самом деле не содержатся в файле app.yaml), отлично подходит для URL-адресов как с параметрами, так и без них. Непонятно, какую ошибку вы получаете и / или какое неожиданное поведение вы видите.
Для ясности, файл app.yaml направляет входящий запрос в ваш php-скрипт. Файл app.yaml в вашем вопросе должен запускать скрипт FooBar.php для обращения к URL обоим
/FooBar.php
а также
/FooBar.php?foo=bar
Сам скрипт PHP должен обращаться к параметру, если он существует, с
$_GET["foo"]
Это то, что вы ожидаете, или вы хотите направить к другому сценарию в зависимости от различных параметров строки запроса? Если последнее, я не думаю, что это возможно — вам придется обрабатывать это в самом скрипте.
Кроме того, URL, на который вы ссылаетесь, использует только строку запроса? Обязательно имейте в виду, что
/FooBar.php/foo-bar
или что-то в этом роде, не будет соответствовать этой записи yaml. Если существует возможность наличия в пути завершающих символов, удалите завершающий «$» и вместо него добавьте «. *», Например:
- url: /(.+\.php).*
Это будет соответствовать всем примерам и отправит их все в ваш скрипт FooBar.php.
[отредактировано предыдущий — спасибо Стюарту за то, что он поймал ошибку в моем предыдущем ответе]Других решений пока нет …