Ubuntu系统下如何在XAMPP中安装php-memcached扩展?
在Ubuntu 22.04的XAMPP中安装php-memcached的正确方法
问题根源:你用sudo apt-get install php-memcached安装的是系统自带PHP的扩展,而XAMPP使用独立的专属PHP环境,因此该扩展不会被XAMPP识别加载。以下是针对XAMPP环境的正确安装步骤:
1. 确认XAMPP的PHP环境信息
先查看XAMPP自带PHP的版本和安装路径(默认路径为/opt/lampp):
/opt/lampp/bin/php -v
2. 安装编译依赖
编译php-memcached扩展需要依赖工具和库,执行以下命令安装:
sudo apt-get update sudo apt-get install -y libmemcached-dev zlib1g-dev gcc make autoconf
3. 通过XAMPP自带的pecl安装扩展
XAMPP内置了pecl工具,用它来安装适配当前XAMPP PHP版本的memcached扩展:
sudo /opt/lampp/bin/pecl install memcached
安装过程中若出现交互提示,直接按回车选择默认配置即可。
4. 配置XAMPP的PHP加载扩展
编辑XAMPP的php.ini文件,添加扩展加载指令:
sudo nano /opt/lampp/etc/php.ini
在文件末尾添加一行:
extension=memcached.so
保存并退出编辑器(按Ctrl+O确认保存,回车后按Ctrl+X退出)。
5. 重启XAMPP服务
重启XAMPP使配置生效:
sudo /opt/lampp restart
6. 验证安装结果
- 访问
http://localhost/phpinfo.php(若没有该文件,可在XAMPP的htdocs目录新建一个包含<?php phpinfo(); ?>的文件),搜索memcached确认扩展已加载。 - 修正测试代码中的端口错误(Memcached默认端口为11211,而非8080):
$memcached = new Memcached(); $memcached->addServer("127.0.0.1", 11211); $response = $memcached->get("sample_key"); if($response) { echo $response; } else { echo "Cache is empty"; $memcached->set("sample_key", "Sample data from cache"); }
运行代码确认不再报错,同时确保Ubuntu系统上的Memcached服务已启动:
sudo systemctl start memcached # 可选:设置开机自启 sudo systemctl enable memcached
内容的提问来源于stack exchange,提问作者Chinmay235
相关产品推荐
相关产品推荐

