php7安装memcache 和 memcached 扩展

php7安装memcache 和 memcached 扩展

标签(空格分隔): php


memcache和memcached区别

    memcache:http://pecl.php.net/package/memcache 
    memcached:http://pecl.php.net/package/memcached

    memcached 是高性能的分布式内存缓存服务器,而PHP memcache 和 memcached 都是 Memcached 服务器的 PHP 扩展。其中memcache 比 memcached 早出现,所以一些老的代码可能还在用 memcache 扩展。memcached 后来出现,并且大部分框架都支持。
    memcache 是一个原生版本,完全是在 PHP 框架内开发的,支持 OO(面向对象) 和非 OO 两套接口并存,而 memcached 是建立在 libmemcached 的基础上的,只支持 OO 接口。这就意味着在安装 memcache 扩展的时候不要求安装其他的东西,但是在安装 memcached 的时候会要求你安装 libmemcached。别嫌麻烦!因为 libmemcached 是 memcache 的 C 客户端,它具有低内存,线程安全等优点。据说新浪微博之前就全面将 PHP 的 memcache 替换成 PHP 的 memcached,在高并发下,稳定性果断提高。
    比较尴尬的一点是 memcached 和 memcache 对应的服务端名字都是 memcached,大家使用 ps aux | grep memcache 就会发现守护进程的名字是 memcached(我的环境是 ubuntu16 LTS),其实后面的 d 可以理解为守护进程,因此网上有的人说 memcache 是客户端, memcached 是服务端就是这个意思,所以不要将客户端的 memcached 和服务端的 memcached 混淆了就好。

安装memcached扩展

    1 选择对应的tar包安装   
    https://pecl.php.net/package/memcached
    
    tar -zxvf memcached-3.0.4.tgz
    
    memcached-3.0.4
    
    [phpize 和 php-config 要看自己的位置]
    
    /usr/local/php/bin/phpize
    
    ./configure --with-php-config=/usr/local/php/bin/php-config
    
    make && make install
    
    Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
    2 可能会出现的错误
    ![](https://img2018.cnblogs.com/blog/1458583/201811/1458583-20181122163300682-1894778112.png)


    需要安装依赖   yum -y install libmemcached libmemcached-devel

安装memcache扩展

1 https://pecl.php.net/package/memcache 
这个方式安装会失败: 貌似原因也是还不支持在 PHP7 下安装 memcache 扩展

2 github搜索 并且代码已经支持到 PHP7
git clone https://github.com/websupport-sk/pecl-memcache memcache

用 phpize 安装,步骤和 memcached 一样

cd memcache/

[phpize 和 php-config 要看自己的位置]

/usr/local/php/bin/phpize
    
./configure --with-php-config=/usr/local/php/bin/php-config
    
make && make install

Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/

修改php.ini

vim /usr/local/php/etc/php.ini

在文件最后添加

重启: service php-pfm restart | service httpd restart
如果报错:
添加.so的路径 把 extension_dir ./ 改成 /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/


再次重启

如果还不行 再次安装 多试几次!

posted @   TaylorSWMM  阅读(4550)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示