Google App Engine并上传多个PHP文件

时间:2019-12-11 06:56:05

标签: php google-app-engine

我有一个PHP项目,其中包含约30个文件和4个文件夹。 是否可以将其上传到App Engine。我的意思是,当我配置YAML时,它仅上传index.php而没有其他内容。

我应该以某种方式将文件上传到GS并使用YAML指向那些文件吗?

2 个答案:

答案 0 :(得分:0)

好吧,答案是“是”,您必须将您的App指向要存储所有文件的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"

答案 1 :(得分:0)

静态内容可以从Google Cloud Storage(GCS)或直接从GAE应用程序环境提供。 PHP文件应与您的应用程序一起上传,而不是上传到GCS。

GAE Flexible documentation包括对每种方法的讨论,以及有关开始提供 GCS 中的静态内容的指南。

标准环境中,您必须define handlers将提供您的静态内容,并将其映射到项目目录结构中保存文件的目录。例如:

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

除非包含在.gcloudignore文件中,否则将上传应用程序目录中的所有PHP文件。默认情况下,vendor/文件夹is included there被忽略,但这是因为假定Composer在部署后将安装必要的软件包。

灵活的环境中,应用程序可以为document_root(在app.yaml中指定)下的所有内容提供服务。除非在app.yaml的skip_files元素下指定,否则应用程序目录中的PHP文件将被上传到应用程序环境。