一、背景
很多项目(几乎所有)都有用到redis和mongodb来存储数据,php没有自带这些扩展,需要手动安装
二、PHP redis扩展安装步骤
这里以php8.2版本容器为例,以下命令中‘php82’均为容器名称,需要更换为你自己的实际名称,使用容器ID也可以
1. 进入容器
docker exec -it php82 /bin/bash
2. 安装Redis依赖库
apt-get update
apt-get install -y git unzip
apt-get install -y git build-essential
3. 克隆phpredis源代码并切换到合适的分支(根据你的PHP版本选择)
git clone https://github.com/phpredis/phpredis.git
cd phpredis
4. 构建和安装扩展
phpize
./configure
make && make install
5. 在PHP配置文件中启用扩展
echo "extension=redis.so" >> /usr/local/etc/php/conf.d/docker-php-ext-redis.ini
6. 重新启动 php-fpm 服务
docker restart php82
完成上面步骤,使用 `php -m | grep redis` 查看是否安装完成
如上图所示,即 php redis 扩展安装完成
三、PHP mongodb扩展安装步骤
1. 进入容器
docker exec -it php82 /bin/bash
2. 安装Redis依赖库
apt-get install -y libssl-dev
3. 下载并编译MongoDB扩展
pecl install mongodb
4. 在PHP配置文件中启用MongoDB扩展
echo "extension=mongodb.so" >> /usr/local/etc/php/conf.d/docker-php-ext-mongodb.ini
5. 重新启动 php-fpm 服务
docker restart php82
完成上面步骤,使用 `php -m | grep mongodb` 查看是否安装完成
如上图所示,即 php mongodb 扩展安装完成
PS:
如果extension_dir和php使用的目录不同,做如下操作:
php -i | grep extension_dir
会得到扩展所在绝对目录路径
查看php配置文件具体位置
php --ini
注意使用Loaded Configuration File地址,编辑php配置文件
sudo vim /usr/local/php8.2/etc/php.ini
新增extension扩展时,可以写上扩展所在的绝对路径:
查看扩展安装是否成功
php -m
至此,小功告成,继续下一步探索吧~