目前从我的ec2-亚马逊ami实例到弹性的连接不起作用
我尝试连接并失败
$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
来自root的: 添加
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'
yeilds ./usr/lib64/php/modules/amazon-elasticache-cluster-client.so 它不能直接链接作为扩展名
有什么明显我做错了吗?任何人都可以建议修复?
答案 0 :(得分:2)
我不知道我是否做得对,但我遇到了类似的问题,最终让它发挥作用。
我正在尝试使用Apache在Ubuntu 14.04上安装ElastiCache Cluster Client for PHP,但是仍然没有找到" Memcached not found"错误。
首先,我遵循了这里的指示:
http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Appendix.PHPAutoDiscoverySetup.html
有两处变化
一个。我从
下载了takeithttp://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-5.5/latest-64bit
B中。除了将memcache.ini文件添加到/etc/php5/cli/conf.d/之外,我还在/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,并确保您为系统下载了正确版本的Cluster Client工具。
答案 1 :(得分:0)
似乎amazon-elasticache-cluster-client.so
代替memcached.so
。您应该删除extension=memcached.so
并重新启动php。