php - 在 PHP AWS Elastic Beanstalk 上安装 ElastiCache 集群客户端(不创建资源)

标签 php amazon-web-services memcached amazon-ebs amazon-elasticache

默认情况下,Elastic Beanstalk 不会安装 ElastiCache 集群客户端 PHP 模块。这是连接到 ElastiCache 节点集群所必需的。仔细阅读,大部分说明都与创建 ElastiCache 资源有关(我假设它还将在 Elastic Beanstalk 上安装 PHP 模块)。我想在不创建资源的情况下安装 PHP 模块,因为我想使用现有集群。 (64位Linux PHP5.5)

最佳答案

该模块在 Beanstalk 或任何 EC2 实例中均未默认安装。你必须自己做。这也与创建资源完全不同。你可以做一个而不做另一个。

适用于 PHP 的 ElastiCache 集群客户端是一个扩展,您可以通过 pecl 安装在您的实例上。您可以手动执行此操作,但如果实例被销毁,您必须再次执行此操作。因此,最好将扩展的安装过程作为部署过程的一部分包含在内。在 beantalk 应用程序中,您可以通过在 .ebextensions 目录中添加配置文件来完成此操作。

比如创建这两个文件。我从一个实际的配置文件中获取了这些:

#.ebextensions/01fileselasticachephp.config
files:
  "/tmp/AmazonElastiCacheClusterClient-latest-PHP54-64bit.tgz" :
    mode: "000777"
    owner: ec2-user
    group: ec2-user
    source: http://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-5.4/latest-64bit

#.ebextensions/02setupelasticachephp.config
commands: 
  01install: 
    command: "pecl install /tmp/AmazonElastiCacheClusterClient-latest-PHP54-64bit.tgz"

文件的实际名称无关紧要。它们用于您自己的组织目的。该目录中带有 .config 扩展名的任何内容都将按字母顺序执行,这就是为什么要在文件前加上数字前缀,以便它们以正确的顺序执行:首先下载扩展名,然后安装它。请注意,您也可以在一个文件中一次完成所有操作。我将它一分为二,因为我的实际配置文件要大得多。

一旦您准备好这些文件,就可以进行部署并安装 Elastic Cache Cluster Client。

请注意,在我部署它时,只有 5.4 客户端可用,这就是我的示例显示这一点的原因。不知道有没有5.5的客户端所以要靠你自己去查了。您只需要更改文件名和 URL 以指向 5.5 扩展名,一切就绪。

关于php - 在 PHP AWS Elastic Beanstalk 上安装 ElastiCache 集群客户端(不创建资源),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21527182/

相关文章:

ubuntu - 无法连接到启用 sasl 的 memcached 服务器

php - 从数据库中获取今天的出生日期

PHP .zip 下载失败,错误为 'Content-Length'

php - 为什么我在对象上调用函数时会在非对象上出现此函数调用错误?

amazon-web-services - ECS 任务定义或多或少与 K8S 中的 POD 规范相同

amazon-web-services - 在 Terraform 中将 "Application Load Balancer"附加到 "Auto Scaling Group"会出现错误

web-services - 使用 RabbitMQ 使本地内存缓存失效的陷阱

python - 应用引擎 SDK : How do I view keys in a specific namespace using the Memcache Viewer?

php - 从句子中删除除选定单词之外的单词

amazon-web-services - 限制 lambda 时,AWS Lambda + API-gateway 返回 502 错误