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

时间:2016-07-13 22:07:25

标签: php google-app-engine google-cloud-sql

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

documentation建议使用“导出”执行此操作,但我目前在Windows上。 PhpStorm让我可以选择在GAE运行配置中定义环境变量,但那些似乎没有注册(至少我不能使用getenv到达它们)。

为MySQL指定本地连接变量的好方法是什么?最好以这种方式在上传到Google时不需要进行更改,如果可能的话,不要在代码中添加这些细节。

我正在运行GAE SDK提供的PHP(实际上是从PhpStorm开始的)。

1 个答案:

答案 0 :(得分:0)

我放弃了在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
}

不如我想要的那么整洁,但效果很好。