

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ElastiCache Cluster Client for PHP のインストール
<a name="Appendix.PHPAutoDiscoverySetup"></a>

このセクションでは、Amazon EC2 インスタンスで ElastiCache Cluster Client の PHP コンポーネントをインストール、更新、および削除する方法について説明します。自動検出の詳細については、「[クラスター (Memcached) 内のノードを自動的に識別する](AutoDiscovery.md)」を参照してください。クライアントを使用するサンプル PHP コードについては、「[PHP 向けの ElastiCache クラスタークライアントの使用](AutoDiscovery.Using.ModifyApp.PHP.md)」を参照してください。

**Topics**
+ [インストールパッケージのダウンロード](Appendix.PHPAutoDiscoverySetup.Downloading.md)
+ [既に *php-memcached* 拡張機能をインストールしているユーザーの場合](#Appendix.PHPAutoDiscoverySetup.InstallingExisting)
+ [新規ユーザーのインストール手順](Appendix.PHPAutoDiscoverySetup.Installing.md)
+ [PHP Cluster Client の削除](Appendix.PHPAutoDiscoverySetup.Removing.md)

# インストールパッケージのダウンロード
<a name="Appendix.PHPAutoDiscoverySetup.Downloading"></a>

適切なバージョンの ElastiCache Cluster Client for PHP を使用するには、Amazon EC2 インスタンスにインストールされている PHP のバージョンを確認する必要があります。また、Amazon EC2 インスタンスが Linux の 64 ビットバージョンと 32 ビットバージョンのどちらを実行しているかも確認する必要があります。

**Amazon EC2 インスタンスにインストールされている PHP のバージョンを確認するには**
+ コマンドプロンプトで、次のコマンドを入力します。

  ```
  php -v
  ```

  PHP のバージョンは、次の例のように出力に表示されます。

  ```
  PHP 5.4.10 (cli) (built: Jan 11 2013 14:48:57) 
  Copyright (c) 1997-2012 The PHP Group
  Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
  ```
**注記**  
PHP と Memcached のバージョンに互換性がない場合は、以下のようなエラーメッセージが表示されます。  

  ```
  PHP Warning: PHP Startup: memcached: Unable to initialize module
  Module compiled with module API=20100525
  PHP compiled with module API=20131226
  These options need to match
  in Unknown on line 0
  ```
この場合は、ソースコードからモジュールをコンパイルする必要があります。詳細については、「[PHP 向けの ElastiCache クラスタークライアントのソースコードのコンパイル](Appendix.PHPAutoDiscoveryCompile.md)」を参照してください。

**Amazon EC2 AMI アーキテクチャ（64 ビットまたは 32 ビット）を確認するには**

1. AWS マネジメントコンソール にサインインし、Amazon EC2 コンソール ([https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)) を開きます。

1. [**インスタンス**] リストで、Amazon EC2 インスタンスをクリックします。

1. [**Description**] タブで、[**AMI:**] フィールドを検索します。64 ビットのインスタンスでは、説明に `x86_64` が含まれています。32 ビットのインスタンスの場合は、このフィールドで `i386` または `i686` を探します。

これで ElastiCache Cluster Client をダウンロードする準備ができました。

**ElastiCache Cluster Client for PHP のダウンロード**

1. AWS マネジメントコンソール にサインインして、ElastiCache コンソール ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)) を開きます。

1. ElastiCache コンソールから [**ElastiCache Cluster Client**] を選択します。

1. [**Download Memcached Cluster Client**] リストで、PHP バージョンと AMI アーキテクチャに合った ElastiCache クラスタークライアントを選択し、[**Download**] ボタンを選択します。

## 既に *php-memcached* 拡張機能をインストールしているユーザーの場合
<a name="Appendix.PHPAutoDiscoverySetup.InstallingExisting"></a>

**`php-memcached` のインストールを更新するには**

1. 「[PHP Cluster Client の削除](Appendix.PHPAutoDiscoverySetup.Removing.md)」トピックで説明しているように、PHP 用の Memcached 拡張機能の以前のインストールを削除します。

1. 前に「[新規ユーザーのインストール手順](Appendix.PHPAutoDiscoverySetup.Installing.md)」で説明したように、新しい ElastiCache `php-memcached` 拡張機能をインストールします。

# 新規ユーザーのインストール手順
<a name="Appendix.PHPAutoDiscoverySetup.Installing"></a>

**Topics**
+ [新規ユーザー向けの PHP 7.x のインストール](#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x)
+ [新規ユーザー向けの PHP 5.x のインストール](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x)

## 新規ユーザー向けの PHP 7.x のインストール
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP7x"></a>

**Topics**
+ [Ubuntu Server 14.04 LTS AMI (64 ビットおよび 32 ビット) に PHP 7 をインストールするには](#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.Ubuntu)
+ [PHP 7 を Amazon Linux 201609 AMI にインストールするには](#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.AmznLinux)
+ [SUSE Linux AMI に PHP 7 をインストールするには](#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.SuseLinux)

### Ubuntu Server 14.04 LTS AMI (64 ビットおよび 32 ビット) に PHP 7 をインストールするには
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.Ubuntu"></a>

1. AMI から新しいインスタンスを起動します。

1. 以下のコマンドを実行します。

   ```
   sudo apt-get update
   sudo apt-get install gcc g++
   ```

1. PHP 7 をインストールします。

   ```
   sudo yum install php70
   ```

1. Amazon ElastiCache Cluster Client をダウンロードします。

   ```
   wget https://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-7.0/latest-64bit
   ```

1. `latest-64bit` を展開します。

   ```
   tar -zxvf latest-64bit
   ```

1. root アクセス権限を使用して、抽出されたアーティファクトファイル `amazon-elasticache-cluster-client.so` を `/usr/lib/php/20151012` にコピーします。

   ```
   sudo mv artifact/amazon-elasticache-cluster-client.so /usr/lib/php/20151012
   ```

1. `extension=amazon-elasticache-cluster-client.so` ファイルに `/etc/php/7.0/cli/php.ini` 行を挿入します。

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php/7.0/cli/php.ini
   ```

1. Apache サーバーを起動または再起動します。

   ```
   sudo /etc/init.d/httpd start
   ```

 

### PHP 7 を Amazon Linux 201609 AMI にインストールするには
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.AmznLinux"></a>

1. AMI から新しいインスタンスを起動します。

1. 次のコマンドを実行してください。

   ```
   sudo yum install gcc-c++
   ```

1. PHP 7 をインストールします。

   ```
   sudo yum install php70
   ```

1. Amazon ElastiCache Cluster Client をダウンロードします。

   ```
   wget https://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-7.0/latest-64bit
   ```

1. `latest-64bit` を展開します。

   ```
   tar -zxvf latest-64bit
   ```

1. root アクセス権限を使用して、抽出されたアーティファクトファイル `amazon-elasticache-cluster-client.so` を `/usr/lib64/php/7.0/modules/` にコピーします。

   ```
   sudo mv artifact/amazon-elasticache-cluster-client.so /usr/lib64/php/7.0/modules/
   ```

1. `50-memcached.ini` ファイルを作成します。

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php-7.0.d/50-memcached.ini
   ```

1. Apache サーバーを起動または再起動します。

   ```
   sudo /etc/init.d/httpd start
   ```

 

### SUSE Linux AMI に PHP 7 をインストールするには
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.SuseLinux"></a>

1. AMI から新しいインスタンスを起動します。

1. 次のコマンドを実行してください。

   ```
   sudo zypper install gcc
   ```

1. PHP 7 をインストールします。

   ```
   sudo yum install php70
   ```

1. Amazon ElastiCache Cluster Client をダウンロードします。

   ```
   wget https://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-7.0/latest-64bit
   ```

1. `latest-64bit` を展開します。

   ```
   tar -zxvf latest-64bit
   ```

1. root アクセス権限を使用して、抽出されたアーティファクトファイル `amazon-elasticache-cluster-client.so` を `/usr/lib64/php7/extensions/` にコピーします。

   ```
   sudo mv artifact/amazon-elasticache-cluster-client.so /usr/lib64/php7/extensions/
   ```

1. `extension=amazon-elasticache-cluster-client.so` ファイルに `/etc/php7/cli/php.ini` 行を挿入します。

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php7/cli/php.ini
   ```

1. Apache サーバーを起動または再起動します。

   ```
   sudo /etc/init.d/httpd start
   ```

 

## 新規ユーザー向けの PHP 5.x のインストール
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x"></a>

**Topics**
+ [Amazon Linux AMI 2014.03 (64 ビットおよび 32 ビット) に PHP 5 をインストールするには](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.AmznLinux)
+ [Red Hat Enterprise Linux 7.0 AMI (64 ビットおよび 32 ビット) に PHP 5 をインストールするには](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.RHEL)
+ [Ubuntu Server 14.04 LTS AMI (64 ビットおよび 32 ビット) に PHP 5 をインストールするには](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.Ubuntu)
+ [SUSE Linux Enterprise Server 11 AMI (64 ビットまたは 32 ビット) に PHP 5 をインストールするには](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.SuseLinux)
+ [他の Linux ディストリビューション](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.Other)

### Amazon Linux AMI 2014.03 (64 ビットおよび 32 ビット) に PHP 5 をインストールするには
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.AmznLinux"></a>

1. Amazon Linux インスタンス (64 ビットまたは 32 ビット) を起動し、ログインします。

1. PHP の依存関係をインストールします。

   ```
   sudo yum install gcc-c++ php php-pear
   ```

1. Amazon EC2 インスタンスと PHP のバージョンに合った適切な `php-memcached` パッケージをダウンロードします。詳細については、「[インストールパッケージのダウンロード](Appendix.PHPAutoDiscoverySetup.Downloading.md)」を参照してください。

1. `php-memcached` をインストールします。URI にはインストールパッケージのダウンロードパスを指定します。

   ```
   sudo pecl install <package download path>
   ```

   PHP 5.4、64 ビット Linux 用のサンプルインストールコマンドを次に示します。このサンプルでは、*X.Y.Z* を実際のバージョン番号に置き換えてください。

   ```
   sudo pecl install /home/AmazonElastiCacheClusterClient-X.Y.Z-PHP54-64bit.tgz
   ```
**注記**  
インストールアーティファクトの最新バージョンを使用してください。

1. root/sudo アクセス許可を使用して、`memcached.ini` という名前の新しいファイルを `/etc/php.d` ディレクトリに追加し、このファイルに「extension=amazon-elasticache-cluster-client.so」を挿入します。

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php.d/memcached.ini
   ```

1. Apache サーバーを起動または再起動します。

   ```
   sudo /etc/init.d/httpd start
   ```

 

### Red Hat Enterprise Linux 7.0 AMI (64 ビットおよび 32 ビット) に PHP 5 をインストールするには
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.RHEL"></a>

1. Red Hat Enterprise Linux インスタンス (64 ビットまたは 32 ビット) を起動し、ログインします。

1. PHP の依存関係をインストールします。

   ```
   sudo yum install gcc-c++ php php-pear
   ```

1. Amazon EC2 インスタンスと PHP のバージョンに合った適切な `php-memcached` パッケージをダウンロードします。詳細については、「[インストールパッケージのダウンロード](Appendix.PHPAutoDiscoverySetup.Downloading.md)」を参照してください。

1. `php-memcached` をインストールします。URI にはインストールパッケージのダウンロードパスを指定します。

   ```
   sudo pecl install <package download path>
   ```

1. root/sudo アクセス許可を使用して、`memcached.ini` という名前の新しいファイルを `/etc/php.d` ディレクトリに追加し、このファイルに「`extension=amazon-elasticache-cluster-client.so`」を挿入します。

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php.d/memcached.ini
   ```

1. Apache サーバーを起動または再起動します。

   ```
   sudo /etc/init.d/httpd start
   ```

 

### Ubuntu Server 14.04 LTS AMI (64 ビットおよび 32 ビット) に PHP 5 をインストールするには
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.Ubuntu"></a>

1. Ubuntu Linux インスタンス (64 ビットまたは 32 ビット) を起動し、ログインします。

1. PHP の依存関係をインストールします。

   ```
   sudo apt-get update 
   sudo apt-get install gcc g++ php5 php-pear
   ```

1. Amazon EC2 インスタンスと PHP のバージョンに合った適切な `php-memcached` パッケージをダウンロードします。詳細については、「[インストールパッケージのダウンロード](Appendix.PHPAutoDiscoverySetup.Downloading.md)」を参照してください。

1. `php-memcached` をインストールします。URI にはインストールパッケージのダウンロードパスを指定します。

   ```
   sudo pecl install <package download path>
   ```
**注記**  
このインストール手順では、ビルドアーティファクト `amazon-elasticache-cluster-client.so` が `/usr/lib/php5/20121212*` ディレクトリにインストールされます。次のステップで必要になるため、ビルドアーティファクトの絶対パスを確認してください。

   前のコマンドが機能しない場合は、PHP クライアントアーティファクト `amazon-elasticache-cluster-client.so` を、ダウンロードした `*.tgz` ファイルから手動で抽出し、`/usr/lib/php5/20121212*` ディレクトリにコピーする必要があります。

   ```
   tar -xvf <package download path>
   cp amazon-elasticache-cluster-client.so /usr/lib/php5/20121212/
   ```

1. root/sudo アクセス許可を使用して、`memcached.ini` という名前の新しいファイルを `/etc/php5/cli/conf.d` ディレクトリに追加し、このファイルに「extension=<absolute path to amazon-elasticache-cluster-client.so>」を挿入します。

   ```
   echo "extension=<absolute path to amazon-elasticache-cluster-client.so>" | sudo tee --append /etc/php5/cli/conf.d/memcached.ini
   ```

1. Apache サーバーを起動または再起動します。

   ```
   sudo /etc/init.d/httpd start
   ```

 

### SUSE Linux Enterprise Server 11 AMI (64 ビットまたは 32 ビット) に PHP 5 をインストールするには
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.SuseLinux"></a>

1. SUSE Linux インスタンス (64 ビットまたは 32 ビット) を起動し、ログインします。

1. PHP の依存関係をインストールします。

   ```
   sudo zypper install gcc php53-devel
   ```

1. Amazon EC2 インスタンスと PHP のバージョンに合った適切な `php-memcached` パッケージをダウンロードします。詳細については、「[インストールパッケージのダウンロード](Appendix.PHPAutoDiscoverySetup.Downloading.md)」を参照してください。

1. `php-memcached` をインストールします。URI にはインストールパッケージのダウンロードパスを指定します。

   ```
   sudo pecl install <package download path>
   ```

1. root/sudo アクセス許可を使用して、`memcached.ini` という名前の新しいファイルを `/etc/php5/conf.d` ディレクトリに追加し、このファイルに「**extension=`amazon-elasticache-cluster-client.so`**」を挿入します。

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php5/conf.d/memcached.ini
   ```

1. Apache サーバーを起動または再起動します。

   ```
   sudo /etc/init.d/httpd start
   ```

**注記**  
ステップ 5 が以前のプラットフォームで機能しない場合、`amazon-elasticache-cluster-client.so` のインストールパスを確認してください。さらに、extension でバイナリの完全なパスを指定します。また、使用中の PHP がサポートされているバージョンであることも検証します。バージョン 5.3 ～ 5.5 がサポートされています。

 

### 他の Linux ディストリビューション
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.Other"></a>

特に CentOS7 や Red Hat Enterprise Linux (RHEL) 7.1 など、一部のシステムでは、`libsasl2.so.3` が `libsasl2.so.2` に置き換えられました。これらのシステムは、ElastiCache クラスタークライアントをロードする際、`libsasl2.so.2` をロードしようとしますが見つけることができません。この問題を解決するには、クライアントが libsasl2.so.2 をロードしようとしたときに `libsasl2.so.3` にリダイレクトされるように、`libsasl2.so.3` へのシンボリックリンクを作成します。次のコードでは、このシンボリックリンクが作成されます。

```
cd /usr/lib64
sudo ln libsasl2.so.3 libsasl2.so.2
```

# PHP Cluster Client の削除
<a name="Appendix.PHPAutoDiscoverySetup.Removing"></a>

**Topics**
+ [PHP 7 の以前のバージョンの削除](#Appendix.PHPAutoDiscoverySetup.Removing.PHP7x)
+ [PHP 5 の以前のバージョンの削除](#Appendix.PHPAutoDiscoverySetup.Removing.PHP5x)

## PHP 7 の以前のバージョンの削除
<a name="Appendix.PHPAutoDiscoverySetup.Removing.PHP7x"></a>

**PHP 7 の以前のバージョンを削除するには**

1. インストール手順で先ほど示した該当する PHP lib ディレクトリから `amazon-elasticache-cluster-client.so` ファイルを削除します。「[既に *php-memcached* 拡張機能をインストールしているユーザーの場合](Appendix.PHPAutoDiscoverySetup.md#Appendix.PHPAutoDiscoverySetup.InstallingExisting)」でインストールのセクションを参照してください。

1. `extension=amazon-elasticache-cluster-client.so` ファイルから `php.ini` 行を削除します。

1. Apache サーバーを起動または再起動します。

   ```
   sudo /etc/init.d/httpd start
   ```

## PHP 5 の以前のバージョンの削除
<a name="Appendix.PHPAutoDiscoverySetup.Removing.PHP5x"></a>

**PHP 5 の以前のバージョンを削除するには**

1. `php-memcached` 拡張機能を削除します。

   ```
   sudo pecl uninstall __uri/AmazonElastiCacheClusterClient
   ```

1.  前のインストールの手順に従って適切なディレクトリに追加した `memcached.ini` ファイルを削除します。