docker php 容器安装redis和mongodb扩展

一、背景

很多项目(几乎所有)都有用到redis和mongodb来存储数据,php没有自带这些扩展,需要手动安装

二、PHP redis扩展安装步骤

这里以php8.2版本容器为例,以下命令中'php82'均为容器名称,需要更换为你自己的实际名称,使用容器ID也可以
  1. 进入容器
bash 复制代码
docker exec -it php82 /bin/bash
  1. 安装Redis依赖库
bash 复制代码
apt-get update
apt-get install -y git unzip
apt-get install -y git build-essential
  1. 克隆phpredis源代码并切换到合适的分支(根据你的PHP版本选择)
bash 复制代码
git clone https://github.com/phpredis/phpredis.git
cd phpredis
  1. 构建和安装扩展
bash 复制代码
phpize
./configure
make && make install
  1. 在PHP配置文件中启用扩展
bash 复制代码
echo "extension=redis.so" >> /usr/local/etc/php/conf.d/docker-php-ext-redis.ini
  1. 重新启动 php-fpm 服务
bash 复制代码
docker restart php82

完成上面步骤,使用 `php -m | grep redis` 查看是否安装完成

如上图所示,即 php redis 扩展安装完成

三、PHP mongodb扩展安装步骤

  1. 进入容器
bash 复制代码
docker exec -it php82 /bin/bash
  1. 安装Redis依赖库
bash 复制代码
apt-get install -y libssl-dev
  1. 下载并编译MongoDB扩展
bash 复制代码
pecl install mongodb
  1. 在PHP配置文件中启用MongoDB扩展
bash 复制代码
echo "extension=mongodb.so" >> /usr/local/etc/php/conf.d/docker-php-ext-mongodb.ini
  1. 重新启动 php-fpm 服务
bash 复制代码
docker restart php82

完成上面步骤,使用 `php -m | grep mongodb` 查看是否安装完成

如上图所示,即 php mongodb 扩展安装完成

至此,小功告成,继续下一步探索吧~

相关推荐
GeekAGI43 分钟前
PyMongo 中 `ServerSelectionTimeoutError` 和 `NetworkTimeout` 异常的区别
mongodb
程思扬1 小时前
Nextcloud容器化部署革新:Docker+Cpolar构建高效私有云远程访问新架构
docker·容器·架构
豆芽脚脚3 小时前
docker compose再阿里云上无法使用的问题
阿里云·docker·容器
异世界贤狼转生码农4 小时前
MongoDB Windows 系统实战手册:从配置到数据处理入门
数据库·mongodb
十行代码九行报错5 小时前
Docker基础学习笔记
笔记·学习·docker
Agome9916 小时前
Docker之自定义jkd镜像上传阿里云
阿里云·docker·容器
无能百分百17 小时前
阿里云服务器ECS安装Docker(CentOS 7.x)
docker
海梨花1 天前
【从零开始学习Redis】项目实战-黑马点评D2
java·数据库·redis·后端·缓存
竹照煜_ysn1 天前
STM32——软硬件I2C
stm32·嵌入式硬件·mongodb
天上掉下来个程小白1 天前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器