Назад | Перейти на главную страницу

Развертывание Laravel с использованием Google App Engine: такого файла или каталога нет

Я следил этот учебник и создал базу данных под названием zoho_portal. Мой app.yaml содержание:

runtime: php
env: flex

runtime_config:
  document_root: public

# required on some platforms so ".env" is not skipped
skip_files: false

    env_variables:
      # The values here will override those in ".env". This is useful for
      # production-specific configuration. However, feel free to set these
      # values in ".env" instead if you prefer.
      APP_LOG: errorlog
      STORAGE_DIR: /tmp
      CACHE_DRIVER: database
      SESSION_DRIVER: database
      ## Set these environment variables according to your CloudSQL configuration.
      DB_HOST: localhost
      DB_DATABASE: zoho_portal
      DB_USERNAME: USER
      DB_PASSWORD: PASS
      DB_SOCKET: /cloudsql/zoho-portal-159018:us-central1:zoho-portal 

    beta_settings:
        cloud_sql_instances: "zoho-portal-159018:us-central1:zoho-portal"

Я также добавил это в свой composer.json:

"post-deploy-cmd": [
    "chmod -R 755 bootstrap\/cache"
]

Однако после развертывания этого с помощью gcloud app deploy, и посетив веб-сайт по адресу: https://zoho-portal-159018.appspot.com/, Я получаю эту ошибку:

SQLSTATE [HY000] [2002] Нет такого файла или каталога (SQL: выберите * из sessions где id = iq8isoeEqTaj5xVNmVm0JuFKtR8vtSEB0ajJl23o предел 1)

Насколько я понимаю, я не пропустил ни одного шага, указанного в руководстве, и база данных настроена правильно. Может ли это иметь какое-то отношение к миграции базы данных?

Ваши настройки верны, возможно, вы забыли включить API администрирования Cloud SQL, как указано ниже в разделе «Перед тем, как начать» страница документации.

У меня тоже была такая же проблема, но я добавил DB_CONNECTION: mysql к env_variables в моем app.yaml сделал трюк для меня.