Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 部署在GAE上的Lumen应用程序无法连接到云sql中的DB_Google App Engine_Google Cloud Sql_Lumen_App Engine Flexible - Fatal编程技术网

Google app engine 部署在GAE上的Lumen应用程序无法连接到云sql中的DB

Google app engine 部署在GAE上的Lumen应用程序无法连接到云sql中的DB,google-app-engine,google-cloud-sql,lumen,app-engine-flexible,Google App Engine,Google Cloud Sql,Lumen,App Engine Flexible,我在Lumen中开发了一个API,并将其部署在GAE上。为此,我遵循了教程。在部署API之前,它工作得很好,但当我尝试访问云sql实例上的DB时,问题出现了。我无法以上述教程中描述的方式访问数据库。然后我尝试了不同的解决方案,但没有一个有效。最后,出于测试目的,我将实例IP地址(部署GAE的地方)添加到云sql实例及其工作状态的授权列表中。但这是一个临时解决方案,因为实例部署在VM上,并且它们的IP地址可以随时更改,这将中断GAE和云sql之间的连接。如有任何解决方案或建议,将不胜感激。 虽然我

我在Lumen中开发了一个API,并将其部署在GAE上。为此,我遵循了教程。在部署API之前,它工作得很好,但当我尝试访问云sql实例上的DB时,问题出现了。我无法以上述教程中描述的方式访问数据库。然后我尝试了不同的解决方案,但没有一个有效。最后,出于测试目的,我将实例IP地址(部署GAE的地方)添加到云sql实例及其工作状态的授权列表中。但这是一个临时解决方案,因为实例部署在VM上,并且它们的IP地址可以随时更改,这将中断GAE和云sql之间的连接。如有任何解决方案或建议,将不胜感激。 虽然我尝试了多种方式更改App.yaml,但我还是给出了以下建议:

runtime: php
env: flex

runtime_config:
  document_root: public

# Ensure we skip ".env", which is only for local development
skip_files:
  - .env

env_variables:
  # Put production environment variables here.
  #APP_ENV: production
  APP_DEBUG: true
  #QUEUE_DRIVER: sync
  APP_LOG: errorlog
  APP_KEY: 32 char key
  STORAGE_DIR: /tmp
  CACHE_DRIVER: database
  SESSION_DRIVER: database
  #APP_TIMEZONE: UTC
  ## Set these environment variables according to your CloudSQL configuration.
  DB_HOST: 127.0.0.1
  DB_DATABASE: dbname
  DB_USERNAME: root
  DB_PASSWORD: pass
  DB_SOCKET: "/cloudsql/Instance Connection Name"
  MYSQL_DSN: "mysql:unix_socket=/Instance Connection Name;dbname=dbname"
  MYSQL_USER: root
  MYSQL_PASSWORD: pass

beta_settings:
    # for Cloud SQL, set this value to the Cloud SQL connection name,
    # e.g. "project:region:cloudsql-instance"
    cloud_sql_instances: "Instance Connection Name"

你看到了什么错误?获取这些错误时,您正在执行什么操作?你能分享一些日志吗?你也能分享你的app.yaml文件吗?(小心不要暴露任何敏感数据)@Federicopanuzio我收到“[PDOException]SQLSTATE[HY000][2002]没有这样的文件或目录”错误。此外,我还添加了我的app.yaml,请看一看。@Federicopanuzio,正如我在问题中提到的,当我在云sql实例的授权列表中添加应用引擎实例的ip地址并通过云sql实例ip地址访问数据库时,我可以访问数据库,但这不是正确的方法,因为它随时都可能中断。我也有同样的想法尝试部署时出现问题。我只能通过删除env变量CACHE\u驱动程序进行部署。代码是从Laravel文档页面下载的,所以我不确定这个变量是做什么的,或者它是否会破坏某些东西。