我最近升级到最新版本的Go SDK(1.8.0),现在当我调用os.Getenv(“SERVER_SOFTWARE”)时,我得到一个空白字符串。我正在使用它来确定我是否位于本地开发服务器或实时环境中,而且我不知道有任何其他检查方式。所以任何一个问题的答案都会使我很好:1)为什么现在返回一个空字符串?或2)是否有其他方法来检查我是否在开发服务器上?为什么os.Getenv(“SERVER_SOFTWARE”)为我返回空白字符串?
回答
所以...我一直在发现很多“嘿,我很笨,还有更好的方法”最近回答了我的问题。这似乎是其中之一。所以,如果我支持一个步骤,并解决我试图回答的真正问题,那么一切都变得简单多了。我只是试图确定我是否在开发服务器或活动服务器上。我正在研究一个完全不相关的问题,并发现:appengine.IsDevAppServer()。这是完整的文件:https://developers.google.com/appengine/docs/go/reference#IsDevAppServer,我从来没有看到它,直到现在。
使用os.Environ
函数可查看为开发服务器设置了哪些环境变量。看看它们中的任何一个是否可以区分开发和生产服务器。例如,APPLICATION_ID
环境变量。
Accessing Application IDs in the Development Web Server
开发服务器模拟生产App Engine服务。 这样做的一种方法是将一个字符串(
dev~
)预先加入到APPLICATION_ID
环境变量中。
谢谢,peterSO,我感觉我越来越接近了,我可以用我用os.Environ()函数发现的方法来做到这一点......但没有任何常见的嫌疑人出现,而我对使用它们中的任何一个都不是很满意。当我输出所有内容时,我会得到:“GOROOT = C:\ Program Files \ Google \ google_appengine \ goroot”;“SYSTEMROOT = C:\ windows”;“PWD = C:\ PATH_TO_MY_APP”;“TZ =世界标准时间”; –
我想可以使用PWD变量,但对我来说这只是一种创可贴的解决方案,如果将来有任何其他开发人员在这方面开展工作,那么这种方法就行不通。就像我说的那样,没有任何通常的嫌疑犯存在,比如APPLICATION_ID或者SERVER_SOFTWARE。有什么方法可以添加它们吗?当我启动开发服务器时,我错过了一些标准的命令行选项(我现在使用的全部是:dev_appserver.py“C:\ PATH_TO_MY_APP”)? –
- 1. 为什么[] + []返回空字符串?
- 2. 为什么subprocess.popen返回空字符串
- 3. 为什么regex.Match返回空字符串?
- 4. 为什么db_placeholder为我的查询返回空字符串?
- 5. 为什么提示返回有时为空作为字符串
- 6. 为什么我的函数在python中返回空字符串?
- 7. 为什么我的EditText返回null或空字符串?
- 8. 为什么我的XmlReader会返回一个空字符串?
- 9. gridview findcontrol什么都不返回空字符串(空白)
- 10. 为什么DropDownList.Text在显式为空字符串时返回0?
- 11. 为什么JavaScript为“逻辑与”操作返回空字符串?
- 12. 这是为什么返回空白?
- 13. 为什么HttpContext.Current.User.Identity.Name返回空白
- 14. 为什么SimpleXML_load_file返回空白输出?
- 15. 为什么空语句ToString()返回一个空字符串?
- 16. 为什么`+ [[]] + [[]]`返回一个字符串?
- 17. 为什么我的字符串返回一个字符?
- 18. 为什么我在这里得到空白字符串?
- 19. 为什么JavaScript字符串空白字符 不匹配?
- 20. 为字段返回空字符串SQL
- 21. 什么都要返回string.Split(“;”)如果字符串为null或空
- 22. 为什么glGetProgramInfoLog返回一个空字符串?
- 23. 为什么HttpWebResponse返回空终止的字符串?
- 24. 为什么HttpContext.Current.Request.Url.AbsolutePath返回一个空字符串?
- 25. 为什么net()。成功返回空字符串
- 26. Rome getAuthor()总是返回空字符串。为什么?
- 27. 为什么“request.getUserPrincipal()。getName()”有时会返回空字符串?
- 28. 为什么GetText方法返回空字符串
- 29. 为什么这个方法返回一个空字符串?
- 30. 为什么替换空字符串没有任何返回
本地开发服务器和实时环境是否都返回空白字符串? –
是的,这里是我在现场的所有环境变量:“TZ = UTC”;“PWD =/base/data/home/apps/s〜[MY_APP_ID]/[MY_APP_VERSION]”;查看我对peterSO对我的开发站点变量的回答的评论。 –