Laravel项目安装Memcached遇扩展加载失败及Class未找到问题求助
解决XAMPP下PHP 8.2.12 ZTS加载php_memcached.dll失败的问题
确认扩展版本与依赖完整性
确保下载的php_memcached.dll是**完全适配PHP 8.2.12 ZTS + 对应架构(x86/x64)**的版本,不要混用非ZTS或不同PHP版本的扩展。同时检查压缩包内是否包含libmemcached.dll、libsasl.dll等所有依赖文件,部分版本的php_memcached依赖这些文件才能正常加载。正确放置依赖DLL
将所有依赖的dll文件(包括libmemcached.dll)直接放到XAMPP的PHP根目录(如C:\xampp\php\),不要放到System32或SysWow64目录。放置完成后重启XAMPP的Apache服务,确保新路径被系统读取。检查php.ini配置
打开XAMPP对应PHP版本的php.ini文件,确认扩展配置行正确:extension=php_memcached.dllPHP 7+也支持简化写法
extension=memcached。配置完成后,打开XAMPP Shell执行php -m命令,查看输出中是否存在memcached条目,验证扩展是否加载成功。如果命令行能加载但网页报错,说明Apache未读取到正确的php.ini文件。验证架构一致性
确认XAMPP、PHP、php_memcached.dll三者的架构(x86/x64)完全一致。可通过php -v命令查看PHP架构信息,输出中会明确标注x86或x64。检查Laravel与Memcached服务配置
- 确保本地已安装并启动Memcached服务器(仅装PHP扩展无法提供缓存服务)
- 确认
config/cache.php中Memcached驱动配置正确:'memcached' => [ 'driver' => 'memcached', 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), 'sasl' => [ env('MEMCACHED_USERNAME'), env('MEMCACHED_PASSWORD'), ], 'options' => [ Memcached::OPT_CONNECT_TIMEOUT => 1000, ], 'servers' => [ [ 'host' => env('MEMCACHED_HOST', '127.0.0.1'), 'port' => env('MEMCACHED_PORT', 11211), 'weight' => 100, ], ], ], - 保证
.env文件中CACHE_DRIVER=memcached配置正确
内容的提问来源于stack exchange,提问作者PMConcepcion
相关产品推荐
相关产品推荐

