部署到灵活的PHP AppEngine时访问CloudSQL

时间:2017-11-08 13:19:43

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

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

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

我开始认为在app deploy进程中可能无法配置连接到数据库的套接字。有没有人试图做过这样的事情并让它发挥作用?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题......

Why does a composer update need access to the database

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