【发布时间】:2015-05-30 19:11:45
【问题描述】:
我在 Google App Engine 上部署了一个项目,该项目在调用 url 时返回 Json 对象。 我用过这段代码
fetchAll(PDO::FETCH_ASSOC);
返回在应用程序中解析时仅使用列名作为键来检索值的结果。
但是,在部署到应用程序引擎时,当调用相同的 url 时,返回的结果使用编号索引以及列名作为键,就像调用了此代码一样
//Without setting the PDO::FETCH_ASSOC fetch style which defaults to PDO::FETCH_BOTH
fetchAll();
部署的项目按预期在本地开发引擎上运行,但是当部署到 Google App Engine 上时,获得了上述结果。
更新 1
我的 Google App Engine 已配置为连接到 bitbucket,因此每当我对代码进行任何更改时,我都会将其推送到 bitbucket,据我所知,App 引擎代码将自动更新,我已经检查过了它。但是当GAE从bitbucket获取代码时,我得到的结果并不是我所期望的。
但是,当我选择从 Google App Engine 启动器手动部署我的代码时,一切似乎都运行良好。当项目部署到 GAE 上时,我得到了我想要的。
在将 bitbucket 配置为 GAE 时,我有很多意想不到的结果(某些部分的切换代码不会运行)。但现在我会坚持使用 Google App Engine 启动器来部署我的代码,直到可能的解释到来。
更新 2
在 GAE 上实时调试时,在我看来,通过 bitbucket push to deploy 新添加的代码根本不存在,即使我可以在 GAE 控制台的源代码选项卡上看到已经添加的代码。例如,我添加了一个新的切换条件,但是在运行并提供适合新添加条件的正确参数时,代码根本不会执行,就好像它不存在一样。这不是真的,因为我在 GAE 控制台上查看了源代码。
小边注
在使用 bitbucket 之前,我使用谷歌应用引擎启动器来部署我的项目。我不确定这是否是 bitbucket 项目无法覆盖我使用 Google App Engine Launcher 部署的旧项目的原因。 如果我找到解决方案,我会回答我自己的问题。
确认问题
我可以确认我的 bitbucket 代码没有替换我使用 Google App Engine Launcher 部署的项目的代码。我不确定 GAE 管理控制台中浏览代码部分的问题是什么,我可以清楚地看到新代码。但是运行时,运行的代码是旧的。
【问题讨论】:
-
请编辑您的问题,使其包括:究竟是什么不起作用?您收到错误消息吗?
-
@SteffenWinkler 给你。
-
啊,所以你的实际问题是方法的“行为”是错误的?
-
是的。我已经为代码设置了预期的行为。它在我的本地机器上按预期工作,但是当部署到 GAE 上时,结果与我在本地机器上看到的结果不同
标签: php google-app-engine pdo google-cloud-sql