

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 编译适用于 PHP 的 ElastiCache 集群客户机的源代码
<a name="Appendix.PHPAutoDiscoveryCompile"></a>

本节介绍如何获取和编译适用于 PHP 的 ElastiCache 集群客户端的源代码。

[你需要从中提取 GitHub 和编译两个软件包：aws-elasticache-cluster-cluster-client-libmemcached 和 [aws-elasticache-cluster-cluster-clien](https://github.com/awslabs/aws-elasticache-cluster-client-libmemcached) t-memcached-](https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php)

**Topics**
+ [编译 libmemcached 库](#Appendix.PHPAutoDiscoveryCompile.Libmemcached)
+ [编译适用于 P ElastiCache HP 的 Memcached 自动发现客户端](#Appendix.PHPAutoDiscoveryCompile.Client)

## 编译 libmemcached 库
<a name="Appendix.PHPAutoDiscoveryCompile.Libmemcached"></a>

**编译 aws-elasticache-cluster-client-libmemcached 库**

1. 启动 Amazon EC2 实例。

1. 安装库依赖项。
   + 在 Amazon Linux 201509 AMI 上

     ```
     sudo yum install gcc gcc-c++ autoconf libevent-devel
     ```
   + 在 Ubuntu 14.04 AMI 上

     ```
     sudo apt-get update
     sudo apt-get install libevent-dev gcc g++ make autoconf libsasl2-dev
     ```

1. 拉取存储库并编译代码。

   ```
   Download and install [ https://github.com/awslabs/aws-elasticache-cluster-client-libmemcached/archive/v1.0.18.tar.gz]( https://github.com/awslabs/aws-elasticache-cluster-client-libmemcached/archive/v1.0.18.tar.gz)
   ```

## 编译适用于 P ElastiCache HP 的 Memcached 自动发现客户端
<a name="Appendix.PHPAutoDiscoveryCompile.Client"></a>

以下各节介绍如何编译 ElastiCache Memcached 自动发现客户端

**Topics**
+ [为 PHP 7 编译 ElastiCache Memcached 客户端](#Appendix.PHPAudiscoveryCompile.Client.PHP7)
+ [为 PHP 5 编译 ElastiCache Memcached 客户端](#Appendix.PHPAudiscoveryCompile.PHP5)

### 为 PHP 7 编译 ElastiCache Memcached 客户端
<a name="Appendix.PHPAudiscoveryCompile.Client.PHP7"></a>

在代码目录下运行下面一组命令。

```
git clone https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php.git
cd aws-elasticache-cluster-client-memcached-for-php 
git checkout php7
sudo yum install php70-devel
phpize
./configure --with-libmemcached-dir={{<libmemcached-install-directory>}} --disable-memcached-sasl
make
make install
```

**注意**  
您可以将 libmemcached 库静态链接到 PHP 二进制文件，以使其可以跨各种 Linux 平台传输。为此，请在 `make` 之前运行以下命令：  

```
sed -i "s#-lmemcached#{{<libmemcached-install-directory>}}/lib/libmemcached.a -lcrypt -lpthread -lm -lstdc++ -lsasl2#" Makefile 
```

### 为 PHP 5 编译 ElastiCache Memcached 客户端
<a name="Appendix.PHPAudiscoveryCompile.PHP5"></a>

通过在 `aws-elasticache-cluster-client-memcached-for-php/` 文件夹下运行以下命令，编译 `aws-elasticache-cluster-client-memcached-for-php`。

```
git clone https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php.git
cd aws-elasticache-cluster-client-memcached-for-php 
sudo yum install zlib-devel
phpize
./configure --with-libmemcached-dir={{<libmemcached-install-directory>}}
make
make install
```