Google App Engine и загрузить несколько файлов PHP - PullRequest
0 голосов
/ 11 декабря 2019

У меня есть проект PHP с около 30 файлами и 4 папками. Есть ли способ загрузить его в App Engine. Я имею в виду, что когда я настраиваю YAML, он загружает только index.php и ничего больше.

Должен ли я каким-то образом загружать файлы в GS и использовать YAML для указания на эти файлы?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2019

Статический контент может подаваться из Google Cloud Storage (GCS) или напрямую из сред приложений GAE. Файлы PHP следует загружать вместе с вашим приложением, а не в GCS.

Документация GAE Flexible включает обсуждение каждого подхода, а также руководство по началу работы с подачей статического контента из * 1005. * GCS .

В Стандартном окружении вам необходимо определить обработчики , которые будут обслуживать ваш статический контент и отображать их в каталогах в структуре каталогов вашего проекта. которые содержат файлы. Например:

handlers:
# All URLs beginning with /stylesheets are treated as paths to
# static files in the stylesheets/ directory.
- url: /stylesheets
  static_dir: stylesheets

Все файлы PHP в каталоге вашего приложения будут загружены, если они не включены в ваш файл .gcloudignore. По умолчанию папка vendor/ включена туда и поэтому игнорируется, но это потому, что предполагается, что Composer установит необходимые пакеты после развертывания.

В Гибкая среда все, что находится в document_root (указанном в app.yaml ), может быть обработано вашим приложением. Файлы PHP в каталоге приложения будут загружены в среду приложения, если это не указано в элементе skip_files вашего app.yaml.

0 голосов
/ 11 декабря 2019

Ну, ответ «Да», вы должны указать свое приложение на GS, где вы храните все файлы.

Вот пример файла YAML, который указывает на подкаталог, содержащий файлы PHP.

runtime: php
# api_version: 1
env: flex
runtime_config:
  document_root: .
env_variables:
  APP_LOG: errorlog
  GOOGLE_STORAGE_BUCKET: "URL.appspot.com/public_html"
  MYSQL_USER: "NAME"
  MYSQL_PASSWORD: "USER"
  MYSQL_DSN: "mysql:dbname=DBNAME;unix_socket=/cloudsql/LOCATION"
beta_settings:
  cloud_sql_instances: "LOCATION"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...