在GAE开发模式下设置PHP环境变量(dev_appserver.py)


Setting PHP environment variable on GAE dev mode (dev_appserver.py)

我在谷歌应用引擎上运行了Zend Framework项目。一切都很好,除了一件事:

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

有什么想法吗?

(我在Ubuntu中使用的是PHP 5.4(


我尝试过的

(很明显,我不想通过app.yaml设置变量……我不能通过.htaccess设置它,因为它没有被使用。我也不想在代码中添加任何条件来设置变量。(

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

getenv()

从代码中,它返回

boolean false

为什么

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

根据@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/X.X"(版本号(,在生产模式下,它将是"Google App Engine/X.Y.Z">