在Linux系统中为PHP安装memcache扩展,能够借助memcache服务实现高效的数据缓存,减少数据库查询压力,提升应用响应速度。下面将从依赖准备到最终验证,逐步讲解完整的安装过程。
安装前准备
首先需要确保系统中已经安装了PHP和memcache服务,同时需要准备编译扩展所需的依赖工具。不同Linux发行版的依赖安装命令略有差异:
CentOS系统
执行以下命令安装必要依赖:
# 安装PHP开发包和编译工具 yum install -y php-devel gcc make # 安装memcache服务 yum install -y memcached
Ubuntu系统
执行以下命令安装必要依赖:
# 安装PHP开发包和编译工具 apt-get install -y php-dev gcc make # 安装memcache服务 apt-get install -y memcached
下载memcache扩展源码
我们可以从PECL官方仓库下载memcache扩展的稳定版本源码,这里以memcache-3.0.8版本为例:
# 切换到临时目录 cd /tmp # 下载扩展源码包 wget https://pecl.php.net/get/memcache-3.0.8.tgz # 解压源码包 tar -zxvf memcache-3.0.8.tgz # 进入解压后的目录 cd memcache-3.0.8
编译安装扩展
进入源码目录后,使用phpize命令生成编译配置文件,然后执行编译和安装操作:
# 生成编译配置 phpize # 配置编译参数 ./configure --with-php-config=/usr/bin/php-config # 编译 make # 安装扩展 make install
如果编译过程中没有报错,会提示扩展文件已经安装到PHP的扩展目录中,通常路径类似/usr/lib64/php/modules/或者/usr/lib/php/20190902/,具体路径可以通过php-config --extension-dir命令查看。
配置php.ini
扩展安装完成后,需要在PHP的配置文件php.ini中添加扩展加载项,让PHP能够识别并使用memcache扩展。
首先找到当前PHP使用的php.ini文件路径,执行命令:
php --ini | grep "Loaded Configuration File"
编辑对应的php.ini文件,在文件末尾添加以下内容:
extension=memcache.so
如果是PHP 7.2及以上版本,部分系统可能需要使用extension=memcache的配置方式,具体可以根据实际安装情况调整。
重启服务并验证安装
配置完成后,需要重启PHP相关服务让配置生效:
- 如果使用Apache作为Web服务器,执行
systemctl restart httpd(CentOS)或者systemctl restart apache2(Ubuntu) - 如果使用Nginx搭配PHP-FPM,执行
systemctl restart php-fpm
重启完成后,可以通过以下两种方式验证扩展是否安装成功:
命令行验证
执行以下命令查看PHP已加载的扩展列表:
php -m | grep memcache
如果输出memcache,说明扩展已经成功加载。
脚本验证
创建测试PHP文件test_memcache.php,内容如下:
<?php
// 检查memcache扩展是否加载
if (extension_loaded('memcache')) {
echo "memcache扩展已成功安装";
} else {
echo "memcache扩展未安装";
}
?>
通过浏览器访问该文件或者执行php test_memcache.php命令,如果输出memcache扩展已成功安装,则表示安装完成。
常见问题处理
安装过程中可能会遇到以下问题:
- 编译时提示
phpize command not found:说明没有安装PHP开发包,重新执行对应系统的PHP开发包安装命令即可 - 启动memcache服务失败:检查端口是否被占用,memcache默认使用11211端口,可以通过
netstat -tunlp | grep 11211查看端口占用情况 - PHP无法加载扩展:检查php.ini中配置的扩展路径是否正确,确认
memcache.so文件存在于PHP的扩展目录中