在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题 (PHP7)

导语:memcached可以将数据库表里的数据和网页的数据缓存到内存中,这样就能加快网页打开速度。我们在使用WordPress时候,如果有条件,就一定要装上memcached。memcached的安装分为服务端和客户端的安装,我们来看看安装步骤和应该注意的问题。

叶子这次是在XAMPP的环境下安装的memcached,以下环境皆为:centos 7 64 + xampp (PHP7)。不再另外说明。

安装memcached服务端

memcached服务端服务端的安装相对简单,对于centos 7 64位的操作系统,使用yum命令来安装就可以了。安装后将它加入开机自启动。

1、安装memcached服务端

yum install -y memcached

在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题

安装memcached
在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题
安装memcached

2、启动memcached服务端

/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root

3、加入开机自启动

vi /etc/rc.d/rc.local

在/etc/rc.d/rc.local,最后面增加下面的代码:

#memcahed
/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root

这个命令的意思就是,-d 守护进程模式(退出终端窗口之后使程序还在运行),-l 指定IP地址127.0.0.1 ,-p 指定端口号11211,-m 为memcached分配多少内存(单位:M),-u 指定使用哪个用户启动memcached。

注意,如果开机没有启动,请检查你的/etc/rc.d/rc.local有没有执行权限,如果没有执行权限,请用下面的命令增加:

chmod +x /etc/rc.d/rc.local

4、查看memcached服务端是否在运行

ps -ef | grep memcached

pstree -p | grep memcached

如果能够看到存在memcached进程,那就说明我们的 memcached 服务端已经安装成功了。

在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题
安装memcached

安装memcached客户端

安装memcached客户端分为两步:1、libmemcached 客户端库的安装;2、为PHP安装 php-memcached 扩展;

1、libmemcached 客户端库的安装

libmemcached 客户端库的安装相当简单,使用yum来安装。当然你也可以下载后编译安装,下载地址如下:
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

叶子这次用的是yum安装,结果遇到了一个坑,折腾了好久才安装成功。下面是命令:

yum -y install libmemcached-devel

2、为PHP7安装php-memcached扩展

  • 切换目录
    cd /usr/local/src/
    
  • 用git下载专门的php7扩展。因为叶子安装的是PHP7,所以一定要使用php-memcached的php7分支,不然装了php-memcached也不能用。
    git clone https://github.com/php-memcached-dev/php-memcached -b php7
    
  • 下载完成后切换到php-memcached目录下,注意,要切换到这个目录下。
    cd php-memcached
    
  • 执行下面的命令生成configure文件。注意git下来的文件夹里面是没有configure的,必须用下面的命令生成。
    /opt/lampp/bin/phpize
    
    在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题
    安装memcached
  • 阿里云配置的centos7 64位操作系统是没有安装zlib的,所以要安装zlib。如果你已经安装过了,就无需安装了。
    yum -y  install zlib-devel
    

    如果不安装zlib,跳过直接执行下一步会报错。错误为:

    checking for zlib location... configure: error: memcached support requires ZLIB. Use --with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are located
    
    在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题
    安装memcached
  • 注意,下面的命令还是要在/usr/local/src/php-memcached下执行。
    ./configure --with-libmemcached-dir=/usr --with-php-config=/opt/lampp/bin/php-config --disable-memcached-sasl
    
    在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题
    安装memcached

    这里要注意的是,如果你是从网上找的一些语句,他们没有采用yum来安装libmemcached,而是直接下载包来安装的,那么–with-libmemcached-dir上它指定的目录可能会是:/usr/lib/libmemcached或/usr/include/libmemcached,那么在你采用了yum安装了libmemcached后,运行./configure的时候会报错:

    checking for libmemcached location... configure: error: Unable to find memcached.h under /usr/lib/libmemcached。
    
    在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题
    安装memcached

    原因是,安装程序会在你指定的目录下面的 include/libmemcached 的目录里面去找memcached.h,那么它查找的目录就会变成/usr/lib/libmemcached/include/libmemcached/memcached.h,那么肯定就会报错了。

    简单点说,如果你使用的是直接下载包来安装libmemcached,那么你就在这里使用–with-libmemcached-dir=/usr/lib/libmemcached。
    如果,你使用的是yum安装libmemcached,那么你就在这里使用–with-libmemcached-dir=/usr。

  • 使用命令 make来编译生成memcached.so
    make && make install
    
    在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题
    安装memcached

    命令执行后,会提示你已经生成的memcached.so可以在/opt/lampp/lib/php/extensions/no-debug-non-zts-20151012/找到。

  • 在php.ini中添加下面的行,然后重启apache。
    extension=memcached.so
    

最后你打开phpinfo就能看到你的memcached的php扩展安装成功了。

在阿里云centos 7 64位上为XAMPP安装memcached的步骤及应该注意的问题
安装memcached

结束

如果你还需要为WordPress来启用memcached,那么请参见:如何优化WordPress以加速网页打开速度?使用OPcache和memcached的注意事项

发表评论

邮箱地址不会被公开。 必填项已用*标注