我的问题在标题中提到但我会重申。我是GAE及其所有新手的新手。我的应用程序使用PHP和Mysql。我有mysql在Cloud Sql中工作,我刚刚将我的应用程序部署到app引擎。
什么工作:不需要参数的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
请帮助任何帮助!!!
答案 0 :(得分:0)
您复制到问题中的app.yaml(假设我在评论中注明的引文并非真正在您的app.yaml文件中)对于带有和不带参数的网址看起来都很好。我们不清楚您接收的错误和/或您看到的意外行为。
要清楚,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脚本。
[之前编辑 - 感谢Stuart在我之前的回答中发现错误]