0

0

PHP怎么安装Memcached扩展_PHP安装Memcached扩展途径【缓存】

蓮花仙者

蓮花仙者

发布时间:2026-01-13 19:45:51

|

641人浏览过

|

来源于php中文网

原创

需先安装并启动 memcached 服务端,再安装 php 的 memcached 扩展;服务未运行会导致 connect() 失败,扩展名、函数名、端口、服务状态任一缺失均使 set() 返回 false。

php怎么安装memcached扩展_php安装memcached扩展途径【缓存】

确认系统已安装 memcached 服务端

Memcached 扩展(memcached)只是 PHP 的客户端,不提供缓存服务本身。如果只装扩展但没跑 memcached 服务,new Memcached() 能实例化,但 connect() 会失败,报错类似:Failed to connect to server: Connection refused

  • Linux(Ubuntu/Debian):运行 sudo apt install memcached,然后 sudo systemctl start memcached
  • Linux(CentOS/RHEL):用 sudo yum install memcachedsudo dnf install memcached,再 sudo systemctl start memcached
  • macOS:用 brew install memcached,再 memcached -d 启动(默认监听 127.0.0.1:11211
  • Windows:官方不支持原生服务端,建议用 WSL 或 Docker 运行;扩展仅支持客户端功能

PHP 安装 memcached 扩展的两种主流方式

注意区分 memcache(旧、单线程、已废弃)和 memcached(新、支持二进制协议、SASL、多线程)。你要装的是后者。

  • 方式一:用包管理器(推荐 Linux/macOS)
    Ubuntu/Debian:sudo apt install php-memcached(自动匹配当前 PHP 版本)
    CentOS/RHEL 8+:sudo dnf install php-pecl-memcached
    macOS + Homebrew PHP:pecl install memcached(需提前装好 libmemcached
  • 方式二:手动编译(兼容性要求高时用)
    先装依赖:sudo apt install libmemcached-dev(Debian/Ubuntu)或 sudo yum install libmemcached-devel(RHEL)
    再执行:pecl install memcached
    成功后检查 php.ini 是否自动加了 extension=memcached.so;没加就手动添加

验证扩展是否生效及常见连接失败原因

装完别急着写代码,先确认扩展加载成功:

php -m | grep memcached

输出 memcached 表示已启用。再运行:

Q.AI视频生成工具
Q.AI视频生成工具

支持一分钟生成专业级短视频,多种生成方式,AI视频脚本,在线云编辑,画面自由替换,热门配音媲美真人音色,更多强大功能尽在QAI

下载

立即学习PHP免费学习笔记(深入)”;

<?php
$m = new Memcached();
var_dump($m->getServerList()); // 应返回空数组
var_dump($m->addServer('127.0.0.1', 11211)); // 应返回 true
echo $m->getVersion()['127.0.0.1:11211'] ?? 'fail';
?>

如果 addServer 返回 falsegetVersion 报错,常见原因:

  • memcached 服务未运行,或监听地址不是 127.0.0.1:11211(查 ps aux | grep memcached 和启动参数)
  • SELinux(RHEL/CentOS)阻止 PHP 进程访问网络,临时关掉测试:sudo setenforce 0
  • PHP 运行用户(如 www-data)被防火墙限制,而 CLI 下能连——说明是 Web 服务器环境问题,非扩展本身
  • 扩展版本与 PHP 版本不兼容(如 PHP 8.2 用了为 PHP 7.4 编译的 .so),用 php -vpecl list 核对

Windows 下 PHP 使用 memcached 的现实路径

Windows 没有官方 memcached 服务端,也没有预编译的 memcached.dll(PECL 已移除 Windows 支持)。可行方案只有两个:

  • 用 WSL2 运行 Linux 环境,在其中装 memcached 服务 + PHP memcached 扩展,PHP 代码通过 127.0.0.1:11211 连 WSL 的服务(需配置 WSL 端口转发)
  • 改用 Docker:docker run -d -p 11211:11211 --name memcached memcached:alpine,PHP 连宿主机 127.0.0.1:11211
  • 绝对不要尝试找第三方编译的 memcached.dll —— 多数不更新、无签名、易崩溃,且不支持 SASL 和二进制协议

扩展名、函数名、端口、服务状态,四个点漏一个,Memcached::set() 就永远返回 false。调试时优先看 $m->getResultCode()$m->getResultMessage(),比猜快得多。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
线程和进程的区别
线程和进程的区别

线程和进程的区别:线程是进程的一部分,用于实现并发和并行操作,而线程共享进程的资源,通信更方便快捷,切换开销较小。本专题为大家提供线程和进程区别相关的各种文章、以及下载和课程。

765

2023.08.10

Python 多线程与异步编程实战
Python 多线程与异步编程实战

本专题系统讲解 Python 多线程与异步编程的核心概念与实战技巧,包括 threading 模块基础、线程同步机制、GIL 原理、asyncio 异步任务管理、协程与事件循环、任务调度与异常处理。通过实战示例,帮助学习者掌握 如何构建高性能、多任务并发的 Python 应用。

377

2025.12.24

java多线程相关教程合集
java多线程相关教程合集

本专题整合了java多线程相关教程,阅读专题下面的文章了解更多详细内容。

31

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

29

2026.01.21

C# 多线程与异步编程
C# 多线程与异步编程

本专题深入讲解 C# 中多线程与异步编程的核心概念与实战技巧,包括线程池管理、Task 类的使用、async/await 异步编程模式、并发控制与线程同步、死锁与竞态条件的解决方案。通过实际项目,帮助开发者掌握 如何在 C# 中构建高并发、低延迟的异步系统,提升应用性能和响应速度。

103

2026.02.06

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1496

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1169

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

835

2023.08.01

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.3万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号