我最近尝试为WordPress运行基于堆栈的亚马逊云形成模板。不幸的是,yum安装了旧的PHP,我得到了这个信息:
您的服务器正在运行PHP版本5.3.29,但WordPress 5.2.1至少需要5.6.20。
我更改堆栈并指定版本:
"install_wordpress" : {
"packages" : {
"yum" : {
"php" : ["5.6.20"],
"php-mysql" : [],
"mysql" : [],
"mysql-server" : [],
"mysql-devel" : [],
"mysql-libs" : [],
"httpd" : []
}
},
但是我仍然遇到同样的错误。如何在云形成模板中正确指定yum版本?
作为基本模板,我使用了AWS提供的默认模板: https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/WordPress_Single_Instance.template
答案 0 :(得分:0)
您正在使用Amazon Linux 2018.03的ami-0080e4c5bc078760e
。根据{{3}},PHP 5.3是那里可用的最新版本。您可以将AMI切换到包括package list的Ubuntu 16.04或带有PHP 7.0的Ubuntu 18.04。您还可以从源代码手动安装更新版本的PHP。
另一个选项是启用amazon-linux-extras
。您需要先启用PHP 7.2主题,然后才能调用cfn-init
,它将安装AWS::CloudFormation::Init
中列出的软件包。您还可以使用两个配置集。参见PHP 7.2。
基本上:
"Metadata": {
"AWS::CloudFormation::Init": {
"configSets": {
"default": ["extras", "config]"
},
"extras": {
"commands": {
"0_enable_php": {
"command": "amazon-linux-extras enable php7.2",
"test": "[ ! grep -Fxq '[amzn2extra-php7.2]' /etc/yum.repos.d/amzn2-extras.repo ]"
}
}
"config": {
"packages": {
"yum": {
"php" : [],
"php-mysql" : [],
"mysql" : [],
"mysql-server" : [],
"mysql-devel" : [],
"mysql-libs" : [],
"httpd" : []
}
}
}
}
}