方法一
环境:CentOS 6.2 32位系统,PHP 5.4.25(由5.2.17升级到5.4.25),memcached 1.4.15
扩展包下载路径:http://pecl.php.net/package/memcache
刚开始安装的是3.0.6的memcache扩展包,扩展安装路径在
代码如下 | 复制代码 |
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so |
在php.ini里也配置了扩展,配置如下:
代码如下 | 复制代码 |
[memcache] extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so |
重启服务后,memcache还是无法使用,报以下错误:
PHP Warning: PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20060613
PHP compiled with module API=20100525
猜想跟扩展包的版本是不是有关,找了一个稳定版本memcache-2.2.7的包,安装一切顺利,PHP可连接memcache进行操作。
是什么原因造成以上报错呢?
查看phpize -v,显示以下信息:
代码如下 | 复制代码 |
Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 PHP Api Version和Zend Module Api No |
为什么不一致呢?PHP版本导致的
补充:使用yum安装方法
1. 通过yum安装
代码如下 | 复制代码 |
yum -y install memcached #安装完成后执行: memcached -h |
#出现memcached帮助信息说明安装成功
2. 加入启动服务
代码如下 | 复制代码 |
chkconfig --level 2345 memcached on |
3. 配置Memcached
代码如下 | 复制代码 |
vim /etc/sysconfig/memcached #文件中内容如下,按需要修改: PORT="11211" #端口 USER="root" #用户名 MAXCONN="1024" #最大连接数 CACHESIZE="64" #内存大小 OPTIONS="" #附加参数 |
4. 安装libmemached
代码如下 | 复制代码 |
wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz tar -zxvf libmemcached-1.0.16.tar.gz cd libmemcached-1.0.16 ./configure -prefix=/usr/local/libmemcached -with-memcached make && make install |
5. 安装php-devel
代码如下 | 复制代码 |
yum install php-devel |
6. 安装PHP Memcached扩展
代码如下 | 复制代码 |
wget http://pecl.php.net/get/memcached-2.1.0.tgz tar -zxvf memcached-2.1.0.tgz cd memcached-2.1.0 /usr/local/php/bin/phpize ./configure -enable-memcached -with-php-config=/usr/local/php/bin/php-config -with-zlib-dir -with-libmemcached-dir=/usr/local/libmemcached -prefix=/usr/local/phpmemcached make && make install |
时间: 2024-10-28 19:36:30