直接将缓存类型切回文件方式即可停用memcache,需在conf/config.php中设'data_cache_type' => 'file',删除或注释memcache相关配置,清空/runtime/目录并验证缓存读写正常。

直接把缓存类型切回文件方式,Memcache 就自然停用了,不需要额外“关闭”服务或卸载扩展。
改回默认文件缓存
在 Conf/config.php 中,把 Memcache 相关配置全部删掉或注释掉,只保留或设置:
- 'DATA_CACHE_TYPE' => 'File'(这是 ThinkPHP 3.2 默认值)
- 可选:删掉或注释掉 'MEMCACHE_HOST'、'MEMCACHED_SERVER'、'DATA_CACHE_TIME' 等 Memcache 专用配置
确认缓存已切换
改完配置后,清空 /Runtime/ 目录(尤其是 /Runtime/Cache/ 和 /Runtime/Data/),再访问页面:
- 缓存文件会重新生成在 /Runtime/Temp/ 或 /Runtime/Data/ 下
- 用 S('test', 'ok') 写入,再用 S('test') 读取,能正常返回说明已回落到文件缓存
- 如果之前调用过 Cache::getInstance() 并手动操作 Memcache,现在这些调用会因驱动不存在而报错,需一并移除或兜底处理
彻底停用 Memcache 扩展(可选)
如果服务器上不再需要 Memcache,可以进一步清理:
- 编辑 php.ini,找到 extension=php_memcache.dll(Windows)或 extension=memcache.so(Linux),前面加 ; 注释掉
- 重启 Web 服务(Apache/Nginx + PHP-FPM)
- 运行 phpinfo() 确认 Memcache 模块已不显示
注意兼容性细节
有些项目代码里硬编码了缓存驱动,比如:
- S('key', $val, 3600, 'memcache') —— 第四个参数指定了驱动,要改成 'file' 或直接去掉
- $cache = Cache::getInstance('Memcache') —— 需改为 Cache::getInstance('File') 或删掉参数用默认驱动
- 自定义的 CacheMemcache.class.php 类若放在项目目录中,建议一并删除,避免干扰
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











