1

目前从我的 ec2-amazon ami 实例到 elasticache 的连接不起作用

我尝试连接并失败

$server_endpoint = "lolololo.olol.olol.cache.amazonaws.com";
$server_port = 11211;
$dynamic_client = new Memcached();
$dynamic_client->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE); 
// it fails on previous line
// Fatal error: Undefined class constant 'OPT_CLIENT_MODE' in
$dynamic_client->addServer($server_endpoint, $server_port);
$dynamic_client->set('key', 'value', 60);

我采取的步骤 sudo yum install gcc-c++ php php-pear

sudo pecl install myplaceontheweb.com/assets/AmazonElastiCacheClusterClient-1.0.1-PHP53-64bit.tgz

sudo yum install php-devel

从根:添加

extension=memcached.so
extension=amazon-elasticache-cluster-client.so

到 /etc/php.d/memcached.ini

php info 说 memcached 是 php 的已安装部分,我在完成所有这些操作后重新启动了服务器。

sudo find . -type f -name 'amazon*.so'

yields ./usr/lib64/php/modules/amazon-elasticache-cluster-client.so 也不能通过直接链接作为扩展来工作

有什么明显的我做错了吗?任何人都可以建议修复吗?

4

2 回答 2

2

我不知道我是否做对了,但我遇到了类似的问题,终于让它工作了。

我试图在 Ubuntu 14.04 上使用 Apache 安装 ElastiCache Cluster Client for PHP,但一直收到“找不到 Memcached”错误。

首先,我按照这里的说明进行操作:

http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Appendix.PHPAutoDiscoverySetup.html

有两个变化

A. 我从

http://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-5.5/latest-64bit

B.除了在/etc/php5/cli/conf.d/中添加了一个memcache.ini文件,我还在/etc/php5/apache2/conf.d/中添加了一个

echo "extension=/full/path/to/amazon-elasticache-cluster-client.so" | sudo tee /etc/php5/apache2/conf.d/memcached.ini

而已。

唯一的其他问题是确保您没有安装 php5-memcached,并确保您正在为您的系统下载正确版本的集群客户端工具。

于 2014-05-17T09:25:57.367 回答
0

看来应该amazon-elasticache-cluster-client.so替换memcached.so. 您应该删除extension=memcached.so并重新启动 php.ini。

于 2013-09-05T01:57:01.560 回答