在linux下为PHP安装 Memcache 扩展模块

 

在前一篇文章Centos下使用Yum安装Memcached中,我们已经配置好了 Memcached 的服务器端程序,但是有些服务器上的PHP环境是没有安装 Memcache 扩展的,这样导致 Memcache 服务不可用,我们在这篇文章中展示如何在 Linux 环境下位 PHP 安装 Memcache 这个扩展模块。

首先看下系统环境:

服务器系统:Linux 2.6.32-358.6.2.el6.x86_64

PHP版本: Version 5.4.27

这里的操作系统是 Centos,但是其他的linux操作系统和这篇文章中安装过程是一样的,大家在ubuntu环境中安装方法和这个是一样的。

安装过程:

  • 安装Memcache For PHP Module
wget http://pecl.php.net/get/memcache-3.0.8.tgz
  • 解压编译
tar -zxvf memcache-3.0.8.tgz
cd memcache-3.0.8
/usr/local/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php5/bin/php-config --with-zlib-dir
make
make install

注意:

1、这里的路径 “/usr/local/bin/phpize  ”以及路径“/usr/local/php5/bin/php”要根据自己服务器上安装php的路径相配合,负责会出现报错。

2、在执行sudo /usr/local/php/bin/phpize 时出现错误:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. 网上搜到的解决办法为:

cd /usr/src
wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
./configure && make && make install
cd ../
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
./configure && make && make install

执行后可以继续安装!

3、如果执行 make 命令出现 “make [memcache_pool.lo] error 1”错误,原因就是没有安装zlib,解决办法就是执行“yum -y install zlib-devel”。然后继续执行出错的命令。

成功运行 make install 后,出现这样的提示:

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
  • 修改 php.ini 文件

在php.ini 文件中找到 extension_dir 这一行,将这一行修改为

extension = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626/"
extension = memcache.so
  • 保存重启

这样,PHP 的扩展模块Memcache 已经安装完成了,即刻享受吧!

当然,在安装成功后可以通过一个文件来测试 Memcache  是否已经完全配置好,在在网站的根目录下新建文件test.php,添加内容如下:

<?php
$memcache = new Memcache;
$memcache->connect('localhost', 12000) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";
var_dump($get_result);
?>

用浏览器打开,显示如下:

Server’s version: 1.4.4
Store data in the cache (data will expire in 10 seconds)
Data from the cache:
object(stdClass)#3 (2) { [“str_attr”]=> string(4) “test” [“int_attr”]=> int(123) }

phpinfo
phpinfo

所有的 Memcache 服务已经配置成功了!

 

 

 

原创文章,转载请注明: 转载自科技爱好者博客

本文链接地址: 在linux下为PHP安装 Memcache 扩展模块 (http://blog.lxx1.com/1025)

如果博客对您有帮助,请给我 打赏


科技爱好者

工科学生大四在读,专业嵌入式开发,喜欢计算机,喜欢单片机,喜欢各种各样美好的东西,相信科技正在改变世界! 这是我的 个人博客

One thought on “在linux下为PHP安装 Memcache 扩展模块

发表评论

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据