【问题标题】:Issue deploying to AppEngine (Flex) with specific PHP version使用特定 PHP 版本部署到 AppEngine (Flex) 的问题
【发布时间】:2020-01-30 09:56:21
【问题描述】:

从昨天开始,我无法将我的 PHP 5.6.* 应用程序的新版本部署到 Google Cloud App Engine,默认情况下设置为 PHP 7.2.*

在 composer.json 我确实需要正确的版本,这是消息

Step #0: There is no PHP runtime version specified in composer.json, or
Step #0: we don't support the version you specified. Google App Engine
Step #0: uses the latest 7.2.x version.

composer.json

{
        "require": {
                "php": "5.6.*",
                "ext-mcrypt": "*",
                "ext-imagick": "*",
                "ext-mysql": "*",
                "ext-zip": "*",
                "ext-gd": "*",
                "ext-mbstring": "*",
                "ext-soap": "*",
                "ext-bcmath": "*",
                "ext-zip": "*",
                "ext-curl": "*",
                "ext-pdo_mysql": "*"
        }
}

在文档中明确表示它应该可用 https://cloud.google.com/appengine/docs/flexible/php/runtime?hl=en

yaml 文件

runtime: php
api_version: 1
service: app-ecom-worker
env: flex

skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$
- ^(.*/)?Plugin(.*/)?webroot/
- ^(.*/)?queue.yaml
- ^(.*/)?ZohoReports/UploadTool/jre/lib/rt.jar

env_variables:
  PARAM1: "production"
  PARAM2: "10.72.0.3"
  PARAM3: ebroot
  PARAM4: ""
  PARAM5: ebdb
  PARAM6: 10.0.0.3
  PARAM7: worker
  CPWATCH: 0
  MTNS_RPC: "x.x.x.x:8082"
  MTNS_IO: "https://app.xxxx.com:843"
  REDIS_LOG: 1
  REDIS_LOG_DB: 2
  REDIS_LOG_HOST: 10.0.0.3
  REDIS_LOG_LIMIT: 50000

beta_settings:
  cloud_sql_instances: fourth-carport-210916:us-east1:ecomexperts

runtime_config:
  document_root: app/webroot

resources:
  cpu: 2
  memory_gb: 2

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 4
  cpu_utilization:
    target_utilization: 0.95

有什么办法解决这个问题吗?

【问题讨论】:

  • 你能分享你的 app.yaml 文件吗?
  • 感谢回复,刚刚添加了yaml文件
  • 我能够正确部署 PHP 5.6 版,无需运行时:自定义,也无需在 App Engine Flexible 中使用 Dockerfile。昨天之前,您是否能够正确部署?您在 Logging 中看到任何错误日志吗?
  • 上次部署是 01/21/2020,昨天刚刚更新了一些代码,没什么特别的,日志显示这个 Using PHP version: 7.2 Install PHP extensions... 无法安装所有请求的扩展程序:-mcrypt * 在您的系统上不可用。错误构建图像:错误构建阶段:等待进程退出:退出状态1
  • 为了使这项工作适用于 PHP 5.6,您必须从 composer.json 中删除 ext-mcrypt 扩展。我尝试使用 ext-mcrypt 扩展进行部署并得到相同的错误,删除它后,一切正常。不知何故,它导致了一个错误。您能否尝试删除它并查看它是否适合您并分享新日志?

标签: php google-app-engine google-cloud-platform gcloud app-engine-flexible


【解决方案1】:

你需要修复

"php": "7.2.*",

【讨论】:

  • 但是我的应用程序使用 php 5.6.* 版本,并且文档说 5.6.* 是一个可以使用的选项,如果我遗漏了什么,很抱歉。
【解决方案2】:

我在 App Engine Flexible 中使用 Runtime PHP 版本 5.6 进行了部署,并验证了部署的版本是 7.2 而不是 5.6。同样在部署时的第 0 步中,我看到它正在使用 php72 映像而不是 php56 映像创建一个 Dockerfile。

这似乎是一个错误,所以我创建了一个Public Issue Tracker。您可以查看与 PHP 5.6 版本问题相关的所有更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-22
    • 2022-11-08
    • 2019-03-25
    • 1970-01-01
    • 2015-04-29
    • 2013-03-12
    • 1970-01-01
    • 2018-03-19
    相关资源
    最近更新 更多