Google Cloud не обслуживает мои статические файлы - PullRequest
0 голосов
/ 13 июня 2019

Я развернул свое приложение laravel, которое успешно работает на моем ПК. Но после развертывания в gcloud я попытался получить к нему доступ, и он не смог загрузить все статические ресурсы, созданные в каталоге "public /". Я получаю ошибку 404 для всех статических файлов. Использование веб-движка Просмотр исходного кода Я проверил файлы, и все файлы доступны в gcloud. Пожалуйста, дайте мне знать, как я могу обслуживать мои статические файлы из gcloud.

Пожалуйста, найдите мой файл app.yaml.

runtime: php72

env_variables:
  ## Put production environment variables here.
  APP_KEY: My_Key
  APP_STORAGE: /tmp
  VIEW_COMPILED_PATH: /tmp
  SESSION_DRIVER: cookie

  ## Set these environment variables according to your CloudSQL configuration.
  DB_DATABASE: mydb
  DB_USERNAME: myuser
  DB_PASSWORD: my_password
  DB_SOCKET: "/cloudsql/myproject:us-central1:myconn"


runtime_config:
 document_root: public

1 Ответ

0 голосов
/ 17 июня 2019

Существует два разных типа AppEngine, которые имеют разную конфигурацию app.yam:

  1. Гибкая: , которая использует document_root конфигурацияи app.php, которые указывают на ваш статический контент.Вы можете найти полный пример файлов app.yaml и app.php на github .Существует env: flex для развертывания приложения в качестве гибкой среды.Поэтому, если вы хотите использовать гибкую среду, ваш app.yaml может выглядеть так:
runtime: php72
env: flex
env_variables:
               ...
               ...
runtime_config:
    document_root: public
Стандарт: , который использует http_handlers обработчики .Пример для обслуживания каталога в качестве статического ресурса:
runtime: php72
handlers: 
- url: /public
  static_dir: public

И еще один пример для обслуживания содержимого из статического каталога:

runtime: php72
handlers: 
- url: /
  static_dir: public

Дополнительные примеры обработчиков конфигурации каталога php app.yaml

Каталог конфигурации всегда зависит от расположения вашего файла app.yaml

...