如何在 Windows 上为 Cloud SQL (GAE) 设置本地环境变量

How to setup local environment variables for Cloud SQL (GAE) on Windows

我正在 GAE 上试用 PHP 应用程序。您可以在 app.yaml 文件中为 Cloud SQL 连接定义连接变量。但是,我还需要在本地开发环境中为 MySQL 服务器定义这些。

documentation 建议用 "export" 来做这个,但我目前在 Windows。 PhpStorm 为我提供了在 GAE 运行 配置中定义环境变量的选项,但这些似乎没有注册(至少我无法使用 getenv 获取它们)。

为 MySQL 指定本地连接变量的好方法是什么?最好以这种方式上传到 Google 时我不需要进行更改,并且如果可能的话,无需将这些详细信息放入代码中。

我正在 运行使用 GAE SDK 提供的 PHP(实际上是从 PhpStorm 启动的)。

我放弃了在Windows/PhpStorm中设置环境变量。我现在在 app.yaml 中添加了两组变量,一组额外用于 DEV:

    env_variables:
      MYSQL_DEV_DSN: 'mysql:host=127.0.0.1;port=3306;dbname=name_of_db'
      MYSQL_DEV_USERNAME: 'db_username'
      MYSQL_DEV_PASSWORD: 'db_password'
      MYSQL_DSN: mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=DATABASE
      MYSQL_USER: root
      MYSQL_PASSWORD: 'root_pwd'

我用一条简单的线在两组之间切换,检查我们所处的环境:

if (strpos($_SERVER['SERVER_SOFTWARE'], 'Development', 0) === 0) {
  // Development
} else {
  // Google App Engine
}

虽然没有我想要的那么整洁,但效果很好。