编译适用于 PHP 的 ElastiCache Cluster Client 的源代码
本部分介绍如何获取和编译适用于 PHP 的 ElastiCache Cluster Client 的源代码。
有两个需要从 GitHub 提取并编译的数据包:aws-elasticache-cluster-client-libmemcached
编译 libmemcached 库
必备的库
OpenSSL 1.1.0 或更高版本(除非 TLS 支持已被 ./configure --disable-tls 禁用)。
SASL(libsasl2,除非 SASL 支持已被
./configure --disable-sasl
禁用)。
编译 aws-elasticache-cluster-client-libmemcached 库
-
启动 Amazon EC2 实例。
-
安装库依赖项。
-
在 Amazon Linux 201509 AMI / Amazon Linux 2 AMI 上
sudo yum -y update sudo yum install gcc gcc-c++ autoconf libevent-devel make perl-core pcre-devel wget zlib-devel // Install OpenSSL 1.1.1 wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz tar xvf openssl-1.1.1c.tar.gz cd openssl-1.1.1c ./config make sudo make install sudo ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
-
在 Ubuntu 14.04 AMI 上(OpenSSL >= 1.1 附带的 Ubuntu 版本不需要)
sudo apt-get update sudo apt-get install libevent-dev gcc g++ make autoconf libsasl2-dev // Install OpenSSL 1.1.1 wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz tar xvf openssl-1.1.1c.tar.gz cd openssl-1.1.1c ./config make sudo make install sudo ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
-
-
拉取存储库并编译代码。
git clone https://github.com/awslabs/aws-elasticache-cluster-client-libmemcached.git cd aws-elasticache-cluster-client-libmemcached touch configure.ac aclocal.m4 configure Makefile.am Makefile.in mkdir BUILD cd BUILD ../configure --prefix=<libmemcached-install-directory> --with-pic --disable-sasl
如果运行
../configure
无法找到libssl
(OpenSSL 库),则可能需要调整PKG_CONFIG_PATH
环境变量:PKG_CONFIG_PATH=/path/to/ssl/lib/pkgconfig ../configure --prefix=<libmemcached-install-directory> --with-pic --disable-sasl
或者,如果您没有使用 TLS,则可以通过运行以下操作来禁用它:
make sudo make install ../configure —prefix=<libmemcached-install-directory> --with-pic --disable-sasl --disable-tls
编译适用于 PHP 的 ElastiCache Memcached Auto Discovery 客户端
以下部分介绍如何编译 ElastiCache Memcached Auto Discovery 客户端
编译适用于 PHP 7 或更高版本的 ElastiCache Memcached 客户端
将 PHP-7.x 替换为您正在使用的版本。
安装 PHP:
sudo yum install -y amazon-linux-extras sudo amazon-linux-extras enable php7.x
在代码目录下运行下面一组命令。
git clone https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php.git cd aws-elasticache-cluster-client-memcached-for-php phpize mkdir BUILD CD BUILD ../configure --with-libmemcached-dir=<libmemcached-install-directory> --disable-memcached-sasl
如果运行 ../configure 无法找到 libssl(OpenSSL 库),则可能需要将 PKG_CONFIG_PATH
环境变量调整为 OpenSSL 的 .PC 文件目录:
PKG_CONFIG_PATH=/path/to/ssl/lib/pkgconfig ../configure --with-libmemcached-dir=<path to libmemcached build directory> --disable-memcached-sasl
或者,如果您没有使用 TLS,则可以通过运行以下操作来禁用它:
make make install ../configure --with-libmemcached-dir=<path to libmemcached build directory> --disable-memcached-sasl --disable-memcached-tls
注意
您可以将 libmemcached 库静态链接到 PHP 二进制文件,以使其可以跨各种 Linux 平台传输。为此,请在 make
之前运行以下命令:
sed -i "s#-lmemcached#
<libmemcached-install-directory>
/lib/libmemcached.a -lcrypt -lpthread -lm -lstdc++ -lsasl2#" Makefile
编译适用于 PHP 5 的 ElastiCache Memcached 客户端
通过在 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/tree/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