You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何引入Memcached类?已按PHP官方手册安装仍报错

问题:PHP中找不到Memcached类,已按官方手册完成安装

我已经按照PHP官方手册完成了Memcached的安装,但在使用以下代码时:

$mc = new Memcached();

$mc->addServer("localhost", 11211);

$mc->set("foo", "Hello!");
$mc->set("bar", "Memcached...");

$arr = array(
    $mc->get("foo"),
    $mc->get("bar")
);

var_dump($arr);die;

出现了如下错误:

Uncaught Error: Class 'Memcached' not found in /var/www/html/api/invoices_list_full.php:32 Stack trace: #0 {main} thrown in /var/www/html/api/invoices_list_full.php on line 32


排查解决步骤

  • 确认扩展是否加载
    执行命令 php -m,查看输出列表中是否存在memcached。如果没有,说明扩展未成功加载。

  • 检查php.ini配置
    用 php --ini 找到PHP配置文件路径,确认文件中存在一行 extension=memcached.so(Linux/macOS环境)或 extension=php_memcached.dll(Windows环境)。若没有则手动添加,之后重启Web服务器或PHP-FPM服务。

  • 区分Memcached与Memcache扩展
    注意不要混淆两个扩展:Memcached是基于libmemcached的官方推荐扩展,而Memcache是另一个老旧扩展。你的代码调用的是Memcached类,必须确保安装的是前者而非后者。

  • 验证扩展状态
    创建phpinfo.php文件,内容为<?php phpinfo(); ?>,访问该页面并搜索memcached。若能找到相关配置信息,说明扩展加载正常;若找不到,需重新安装扩展并核对配置。

  • 检查CLI与Web环境的配置一致性
    部分场景下,CLI模式使用的php.ini与Web服务器使用的配置文件不同。执行php -i | grep php.ini查看CLI环境的配置文件路径,和Web页面phpinfo显示的路径对比,确保两者都加载了memcached扩展。

内容的提问来源于stack exchange,提问作者Toma Tomov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:12:03