源码编译安装memcached和PHP扩展memcache整理总结
一.开始编译memcached
安装编译需要的扩展包
yum install libevent libevent-devel
 
开始编译memcached
wget http://memcached.org/files/memcached-1.4.21.tar.gz
tar -zxvf memcached-1.4.21.tar.gz
cd memcached-1.4.21
./configure --prefix=/usr/local/memcached
make
make install 
二.PHP Memcache 扩展安装
PHP Memcache 扩展包下载地址:http://pecl.php.net/package/memcache,你可以下载最新稳定包(stable)。
wget http://pecl.php.net/get/memcache-2.2.7.tgz               
tar -zxvf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install 
注意:/usr/local/php/ 为php的安装路径,需要根据你安装的实际目录调整。
安装成功后会显示你的memcache.so扩展的位置,比如我的:
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ 
最后我们需要把这个扩展添加到php中,打开你的php.ini文件在最后添加以下内容:
[Memcache]
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension = memcache.so 
检查安装结果
/usr/local/php/bin/php -m | grep memcache 
安装成功会输出:memcache。
或者通过浏览器访问 phpinfo() 函数来查看,如下图:

PHP 连接 Memcached
<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect"); //连接Memcached服务器
$memcache->set('key', 'test');        //设置一个变量到内存中,名称是key 值是test
$get_value = $memcache->get('key');   //从内存中取出key的值
echo $get_value;
?> 
三.开机自启动
创建/usr/lib/systemd/system/memcached.service 文件
[Unit]
Description=Memcached
Before=httpd.service
After=network.target
[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/memcached
ExecStart=/usr/local/memcached/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS
[Install]
WantedBy=multi-user.target 
同时创建/etc/sysconfig/memcached 文件
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1" 
常用命令
# 查看当前状态
systemctl status memcached
# 启动
systemctl start memcached
# 停止
systemctl stop memcached
#添加到开机自启动
systemctl enable memcached.service 或systemctl enable memcached 都可以 
活着就是折腾.
赞赏码
    
非学,无以致疑;非问,无以广识

                
            
        
浙公网安备 33010602011771号