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


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

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

文档建议使用"导出"执行此操作,但我目前使用的是 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
}

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