0

我在 Google App Engine 上运行 Zend Framework 项目。一切都很好,除了一件事:

我无法设置环境变量来告诉 Zend 我处于开发模式

有任何想法吗?

(我在 Ubuntu 中使用 PHP 5.4)


我试过的

(显然我不想通过 app.yaml 设置变量......我不能通过 .htaccess 设置它,因为它没有被使用。我宁愿不必在我的代码中添加任何条件来可能设置变量方式,要么)

我正在使用 PHPStorm (IDE),它有一个很好的 GAE 插件。它甚至在项目配置中为环境变量提供了一个选项——除了它不起作用。我在 PHPStorm 中设置变量(编辑配置 > Google App Engine for PHP > 命令行 > 环境变量),但如果我做

getenv()

从代码中,它返回

boolean false

为什么

我的目标是为我的项目动态加载开发配置,特别是这样我就可以在本地使用 MySQL,而不是在开发和测试应用程序时连接到 CloudSQL。

4

1 回答 1

2

根据@tim-hoffman 的评论,我要使用的解决方案是我的 /public/index.php 文件中的以下一点逻辑,放置在定义 APPLICATION_ENV 常量之前:

$env = getenv("SERVER_SOFTWARE");
if ($env !== false) {
   if ((bool)preg_match("/development/", strtolower($env))) {
      define("APPLICATION_ENV", "development");
   }
}

在开发模式下,SERVER_SOFTWARE 将返回字符串“Development/XX”(版本号),在生产模式下,它将是“Google App Engine/XYZ”

于 2013-11-03T10:12:35.907 回答