Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在app.yaml Google app Engine中将参数传递给php_Php_Google App Engine_Parameters_App.yaml - Fatal编程技术网

在app.yaml Google app Engine中将参数传递给php

在app.yaml Google app Engine中将参数传递给php,php,google-app-engine,parameters,app.yaml,Php,Google App Engine,Parameters,App.yaml,标题中提到了我的问题,但我会重申。我是GAE及其所有东西的新手。我的应用程序使用PHP和Mysql。我让mysql在云Sql中工作,我刚刚将我的应用部署到应用引擎 工作原理:不需要参数的PHP脚本,例如(FooBar.PHP) 什么不起作用:我需要传递参数的PHP脚本,即(FooBar.PHP?foo=bar) 我认为解决方案是如何配置app.yaml文件 我再说一遍,要执行常规PHP脚本 我所需要的参数是我唯一的问题 这是我的app.yaml文件的一个示例 application: foo-b

标题中提到了我的问题,但我会重申。我是GAE及其所有东西的新手。我的应用程序使用PHP和Mysql。我让mysql在云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 

PHP脚本本身应该使用

$_GET["foo"]
这是您所期望的,还是您希望根据不同的查询字符串参数路由到不同的脚本?如果是后者,我认为这是不可能的——您必须在脚本本身中处理它

另外,您正在引用的URL是否仅使用查询字符串?一定要记住

/FooBar.php/foo-bar
或者类似的东西,不会与yaml条目匹配。如果路径中可能有尾随字符,请删除尾随“$”并包含“*”,例如:

- url: /(.+\.php).*
这将匹配所有示例,并将它们全部发送到FooBar.php脚本


[上一次编辑--感谢斯图尔特在我上一次的回答中发现了错误]

谢谢迈克。您能否举例说明url和脚本字段如何查找带有参数的文件类型?下面是app.yam文件的实际格式示例。查询字符串未用于匹配路由-因此很遗憾,此答案不正确。您需要将app.yaml正确粘贴到问题中,例如,我看到一个“在你上面的帖子里,这并没有回答我的问题。我已经执行了常规的php脚本,我的示例的格式被堆栈溢出破坏了,哈哈。我提供的链接是我的文件的样子,但如何格式化它以接受参数是我需要的一个明确的例子。我看不到任何链接-刚刚在你的应用程序中通过。yaml正确,我们可以看看。Mike,它正在工作!!!!我不知道它能在有或没有参数的情况下点击url。但我认为解决方案是url和添加“*”以及一些调试。但你的解决方案是正确的。再次感谢你,伙计!!我尝试修正了你问题中的格式,因此app.yaml更清晰。这就是你的app.yaml文件的样子吗?除了添加前导空格以将其格式化为代码外,我还删除了“application”行开头的一个引号和“-url”行末尾的另一个引号——只是确保这是一个复制/粘贴错误,并且这些字符实际上不在app.yaml文件中。而且,要明确的是,您在访问时收到了什么错误“/FooBar.php?foo=bar”?调用的是“FooBar”处理程序(就像访问“/FooBar.php”时一样),还是收到404错误,或者是什么?
- url: /(.+\.php).*