【问题标题】:Access CloudSQL while Deploying to Flexible PHP AppEngine在部署到灵活的 PHP AppEngine 时访问 CloudSQL
【发布时间】:2017-11-08 13:19:42
【问题描述】:

我已经能够按照example here 将示例 Symfony 3 应用程序部署到 Google AppEngine Flexible PHP 应用程序。然后我将 CloudSQL API 添加到项目中,并在 app.yaml 中添加条目,因此当我通过 SSH 连接到实例时,我可以在 /cloudsql/ 中看到 MySQL 套接字。然后我将 Doctrine 包添加到 Symfony 项目中,设置了几个模型等,在本地测试成功,并尝试将应用程序重新部署到 Google。

当部署进程运行 composer 时,它运行的是在 composer.json 中定义的 symfony-scripts 条目。其中一些例程显然需要访问数据库,但这失败了。我收到来自clearCache 脚​​本的An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory 错误。如果我从 composer.json 中删除该条目并重试,我会从下一个脚本中得到相同的错误。

我开始认为app deploy过程中可能没有配置连接数据库的socket。有没有人尝试过这样的事情并让它发挥作用?

【问题讨论】:

    标签: php mysql symfony google-app-engine doctrine


    【解决方案1】:

    回答我自己的问题...

    Why does a composer update need access to the database

    在我的app/config/config.yml 中的doctrine dbal 下添加server_version: 5.7 修复了这个问题。在composer install 期间它不再尝试连接到数据库,并且应用程序现在部署。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      相关资源
      最近更新 更多