微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS(x86?64)下PHP安装memcache扩展问题解决方法分享

系统版本是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]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐