【发布时间】: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