【问题标题】:Google App Engine and upload multiple PHP filesGoogle App Engine 并上传多个 PHP 文件
【发布时间】:2019-12-11 06:56:05
【问题描述】:

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

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

【问题讨论】:

    标签: php google-app-engine


    【解决方案1】:

    嗯,答案是“是”,您必须将您的应用程序指向您存储所有文件的 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"
    

    【讨论】:

      【解决方案2】:

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

      GAE 灵活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 文件将被上传到应用程序环境。

      【讨论】:

        猜你喜欢
        • 2014-12-10
        • 2015-06-30
        • 1970-01-01
        • 1970-01-01
        • 2013-11-25
        • 2010-10-24
        • 1970-01-01
        • 2013-09-09
        • 2010-09-10
        相关资源
        最近更新 更多