【问题标题】:How to setup local environment variables for Cloud SQL (GAE) on Windows如何在 Windows 上为 Cloud SQL (GAE) 设置本地环境变量
【发布时间】:2016-07-13 22:07:25
【问题描述】:

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

documentation 建议使用“导出”来执行此操作,但我目前使用的是 Windows。 PhpStorm 为我提供了在 GAE 运行配置中定义环境变量的选项,但这些似乎没有注册(至少我无法使用 getenv 访问它们)。

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-29
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      • 2016-10-03
      • 2017-03-20
      • 1970-01-01
      相关资源
      最近更新 更多