CentOS(x86_64)下PHP安装memcache扩展问题解决方法分享
时间:2017-05-27 16:20 来源:linux.it.net.cn 作者:IT
系统版本是5.2,把安装memcached的方法记录下先:
复制代码
代码如下:
cd ~/memcached
wget -c http://www.monkey.org/~provos/libevent-1.4.10-stable.tar.gz
wget -c http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz
#安装libevent
tar -zxvf libevent-1.4.10-stable.tar.gz
cd libevent-1.4.10-stable
./configure
make
make install
#安装memcached
cd ..
tar -zxvf memcached-1.2.8.tar.gz
cd memcached-1.2.8
./configure
make
make install
#如果是64位系统,还需要把libevent的文件复制到/wp-content/lib64/下,用来解决error while loading shared libraries的问题
cp -R /wp-content/local/lib/libevent* /wp-content/lib64/
好了,开始安装php的扩展,恶梦开始了,本以为直接用yum来安装php-devel.x86_64和php-pecl-memcache.x86_64这两个扩展就可以了,可装了后 phpinfo()里根本找不到memcache扩展,把已经装的这两个扩展remove重来,还是不行,goooooooooooooogle,找到了一篇文章《PHP Pecl Memcached module installation problems》,有救喽,先remove掉php-pecl-memcache.x86_64,然后执行了
pecl install memcache
顺利安装上了,打开/etc/php.d/看了下,没有memcache.ini,好吧,手动到/etc/php.ini加上了 extension=memcache.so,好了,重启httpd,刷新 phpinfo() ,竟然还没有,我郁闷了。。
回头想想,我好像漏了一个地方没有检查,马上打开 /wp-content/lib64/php/modules/ 查看,果然没有memcache.so,会在哪呢? find -name之,原来躲在 /wp-content/local/lib/php/extensions/no-debug-non-zts-20060613/ 下,复制到 /wp-content/lib64/php/modules/ 再试,久违的 memcache扩展出现了。 T T
Memcached参数说明:
-
-d选项是启动一个守护进程
-
-m分配给Memcache使用的内存数量,单位是MB
-
-u运行Memcache的用户
-
-l监听的服务器IP地址
-
-p设置Memcache监听的端口,最好是1024以上的端口
-
-c最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定
-
-P设置保存Memcache的pid文件
启动:
memcached -d -u root -m 128 -c 8192
查看状态:
watch “echo stats | nc 127.0.0.1 11211″
状态说明:
-
uptime:memcached运行的秒数
-
cmd_get:查询缓存的次数。这两个数据相除一下就能得到平均每秒请求缓存的次数
-
-
cmd_set:设置key=>value的次数
-
get_hits:缓存命中的次数。缓存命中率 = get_hits/cmd_get * 100%
-
scurr_items:现在在缓存中的键值对个数
相关网址:
Libevent:http://www.monkey.org/~provos/libevent/
Memcached:http://danga.com/memcached/
PHP Memcached Extension:http://pecl.php.net/package/memcache
[shell]
[root@~]# pecl install memcache
downloading memcache-2.2.6.tgz ...
Starting to download memcache-2.2.6.tgz (35,957 bytes)
..........done: 35,957 bytes
11 source files, building
WARNING: php_bin /opt/php/bin/php appears to have a suffix /bin/php, but config variable php_suffix does not match
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Enable memcache session handler support? [yes] : n
[/shell]
[shell]
running: make INSTALL_ROOT="/var/tmp/pear-build-root/install-memcache-2.2.6" install
Installing shared extensions: /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626/
running: find "/var/tmp/pear-build-root/install-memcache-2.2.6" | xargs ls -dils
11370548 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6
11370602 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt
11370603 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php
11370604 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib
11370605 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php
11370606 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions
11370607 4 drwxr-xr-x 2 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626
11370601 236 -rwxr-xr-x 1 root root 235639 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
Build process completed successfully
Installing '/opt/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so'
install ok: channel://pecl.php.net/memcache-2.2.6
configuration option "php_ini" is not set to php.ini location
You should add "extension=memcache.so" to php.ini
[/shell]
(责任编辑:IT)
系统版本是5.2,把安装memcached的方法记录下先:
复制代码
代码如下:cd ~/memcached wget -c http://www.monkey.org/~provos/libevent-1.4.10-stable.tar.gz wget -c http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz #安装libevent tar -zxvf libevent-1.4.10-stable.tar.gz cd libevent-1.4.10-stable ./configure make make install #安装memcached cd .. tar -zxvf memcached-1.2.8.tar.gz cd memcached-1.2.8 ./configure make make install #如果是64位系统,还需要把libevent的文件复制到/wp-content/lib64/下,用来解决error while loading shared libraries的问题 cp -R /wp-content/local/lib/libevent* /wp-content/lib64/ 好了,开始安装php的扩展,恶梦开始了,本以为直接用yum来安装php-devel.x86_64和php-pecl-memcache.x86_64这两个扩展就可以了,可装了后 phpinfo()里根本找不到memcache扩展,把已经装的这两个扩展remove重来,还是不行,goooooooooooooogle,找到了一篇文章《PHP Pecl Memcached module installation problems》,有救喽,先remove掉php-pecl-memcache.x86_64,然后执行了
顺利安装上了,打开/etc/php.d/看了下,没有memcache.ini,好吧,手动到/etc/php.ini加上了 extension=memcache.so,好了,重启httpd,刷新 phpinfo() ,竟然还没有,我郁闷了。。 回头想想,我好像漏了一个地方没有检查,马上打开 /wp-content/lib64/php/modules/ 查看,果然没有memcache.so,会在哪呢? find -name之,原来躲在 /wp-content/local/lib/php/extensions/no-debug-non-zts-20060613/ 下,复制到 /wp-content/lib64/php/modules/ 再试,久违的 memcache扩展出现了。 T T
Memcached参数说明:
启动:
查看状态:
状态说明:
相关网址:
Libevent:http://www.monkey.org/~provos/libevent/ [shell] [root@~]# pecl install memcache downloading memcache-2.2.6.tgz ... Starting to download memcache-2.2.6.tgz (35,957 bytes) ..........done: 35,957 bytes 11 source files, building WARNING: php_bin /opt/php/bin/php appears to have a suffix /bin/php, but config variable php_suffix does not match running: phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 Enable memcache session handler support? [yes] : n [/shell] [shell] running: make INSTALL_ROOT="/var/tmp/pear-build-root/install-memcache-2.2.6" install Installing shared extensions: /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626/ running: find "/var/tmp/pear-build-root/install-memcache-2.2.6" | xargs ls -dils 11370548 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6 11370602 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt 11370603 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php 11370604 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib 11370605 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php 11370606 4 drwxr-xr-x 3 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions 11370607 4 drwxr-xr-x 2 root root 4096 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626 11370601 236 -rwxr-xr-x 1 root root 235639 Jan 6 15:55 /var/tmp/pear-build-root/install-memcache-2.2.6/opt/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so Build process completed successfully Installing '/opt/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so' install ok: channel://pecl.php.net/memcache-2.2.6 configuration option "php_ini" is not set to php.ini location You should add "extension=memcache.so" to php.ini [/shell] (责任编辑:IT) |