目录
如果出现报错 clients/memflush.cc: In function ‘int main(int, char**)’
安装 libmemcached 类库
- 注意:安装 PHP 的 Memcached 扩展前,务必先安装 Memcached服务
- 下载 libmemcached 源码包
cd /usr/local/src
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
- 解压缩
tar zxvf libmemcached-1.0.18.tar.gz
- 编译三部曲
# 进入源码目录
cd libmemcached-1.0.18
# 配置指定安装目录
./configure --prefix=/usr/local/libmemcached-1.0.18 --with-memcached
# 配置安装 && 编译安装
make
make install
-
如果出现报错
clients/memflush.cc: In function ‘int main(int, char**)’
# 将 clients/memflush.cc 的 42 行和 51 行作如下修改:
int main(int argc, char *argv[])
{
options_parse(argc, argv);
- if (opt_servers == false)
+ if (!opt_servers)
{
char *temp;
- if (opt_servers == false)
+ if (!opt_servers)
{
std::cerr << "No Servers provided" << std::endl;
exit(EXIT_FAILURE);
安装 Memcached 扩展
- 下载 Memcached 源码包(php >= 7.0 下载 Memcached 3.0,php < 7.0 下载 Memcached 2.2.0)
cd /usr/local/src
wget http://pecl.php.net/get/memcached-3.1.3.tgz
- 解压缩
tar zxvf memcached-3.1.3.tgz
-
准备编译
# 进入源码目录
cd memcached-3.1.3
# 通过 phpize 建立 PHP 的外挂模块
/usr/local/php/bin/phpize
# 配置
./configure --with-php-config=/usr/local/php/bin/php-config \
-with-libmemcached-dir=/usr/local/libmemcached-1.0.18/ \
--disable-memcached-sasl
# 编译安装
make
make install
配置 php.ini
# 编辑 php.ini
vim /usr/local/php/etc/php.ini
#在文件尾部增加
[memcached]
extension = memcached.so
# 重启 nginx 和 php
systemctl restart nginx
/etc/init.d/php-fpm restart
# 或
kill -9 $(pidof php-fpm)
/usr/local/php/sbin/php-fpm
/usr/local/nginx/sbin/nginx -s reload
# 验证
/usr/local/php/bin/php -m | grep memcached
搞定!
附:编译安装 PHP Memcache 扩展
cd /usr/local/src
# 下载
git clone https://github.com/websupport-sk/pecl-memcache memcache
cd memcache
# 编译安装
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
# 配置
echo "[memcache]" >> /usr/local/php/etc/php.ini
echo "extension = memcache.so" >> /usr/local/php/etc/php.ini
# 重启
systemctl restart nginx
/etc/init.d/php-fpm restart