【问题标题】:Gcloud app deploy SQLSTATE[HY000] [2002] No such file or directoryGcloud app deploy SQLSTATE[HY000] [2002] No such file or directory
【发布时间】:2023-04-01 12:02:02
【问题描述】:

我的本​​地主机中已经有一个使用数据库的 laravel 项目。但是当我使用 GCP 应用引擎时,我会按照数据库连接的步骤进行操作。我已经在我的云中创建了 mysql 数据库,并从工作的本地数据库中导入了我的所有 sql。当我应用部署显示 SQLSTATE[HY000] [2002] 下面没有这样的文件或目录是我的 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_LOG: errorlog
  APP_KEY: <app-key>
  CACHE_DRIVER: database
  SESSION_DRIVER: database
  ## Set these environment variables according to your CloudSQL configuration.
  DB_HOST: <db_host>
  DB_DATABASE: info
  DB_USERNAME: root
  DB_PASSWORD: <db_pass>
  DB_SOCKET: "/cloudsql/lkcfes:asia-east1:lkcfes"

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

【问题讨论】:

    标签: mysql laravel gcloud


    【解决方案1】:

    根据您的配置和最后一条评论,由于网络错误,您无法访问该实例。我认为您应该查看 GCP 控制台中的防火墙配置和实例配置中的“授权网络”。

    你可以在这里找到更多信息https://cloud.google.com/sql/docs/mysql/diagnose-issues

    【讨论】:

      【解决方案2】:

      您可以尝试删除DB_SOCKET 环境变量吗? 您得到的错误是因为该套接字不存在。

      您不应同时指定DB_HOSTDB_SOCKET,而应仅指定其中任何一个。

      【讨论】:

      • 但是根据这个cloud.google.com/community/tutorials/…我说两个都得到了
      • 如果您使用cloud_sql_proxy,您确实需要套接字,是吗?
      • 如果我在谷歌云中使用 DB_host 到我的 sql 实例会怎样
      • 只要mysql 服务器与您的网络服务器在同一个虚拟网络中,这将起作用。
      • CACHE_DRIVER: database SESSION_DRIVER: database ## 根据您的 CloudSQL 配置设置这些环境变量。 DB_HOST: 35.231.242.40 DB_DATABASE: fyp2 DB_USERNAME: root DB_PASSWORD: 现在我的 app.yaml 但还是不行
      猜你喜欢
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      • 2015-04-04
      • 2015-04-22
      • 2013-10-08
      • 2023-04-01
      相关资源
      最近更新 更多