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 情報によると、memcached は php の一部としてインストールされています。これをすべて行った後、サーバーを再起動しました。

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

yeilds ./usr/lib64/php/modules/amazon-elasticache-cluster-client.so 、拡張機能として直接リンクしても機能しません

私が間違っていることは明らかですか?誰でも修正を提案できますか?

4

2 に答える 2

2

これを正しく行ったかどうかはわかりませんが、同様の問題を抱えていて、最終的に機能するようになりました。

Apache を使用して Ubuntu 14.04 に PHP 用の ElastiCache クラスター クライアントをインストールしようとしましたが、「Memcached が見つかりません」というエラーが発生し続けました。

まず、ここの指示に従いました:

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

2つの変更で

A. から takeit をダウンロードしました。

http://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" | 須藤ティー /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.sophpを削除して再起動する必要があります。

于 2013-09-05T01:57:01.560 に答える